2016-03-30 19 views
0

Mapreduceアプリケーションの作成中に、Hadoop FileSystem APIとGlobStatusを使用すると、最近問題が発生しました。mapreduceとGlobStatusのヌルポインタ例外

ドライバプログラムのスニペットです。

FileSystem fs = FileSystem.get(URI.create(args[0]), conf); 
Path path = new Path(args[0] + args[1]); 

FileStatus[] status = fs.globStatus(path); 
Path[] paths = FileUtil.stat2Paths(status); 

と、ここで私がプログラムを呼び出す方法です

糸ジャーMyMapReduceTest01.jar com.abc.test.MyMapRedTestDriver /ユーザー/ルート/ RAW_DATA/ABC *

この結果次の例外の場合

Exception in thread "main" java.lang.NullPointerException 
    at com.abc.test.MyMapRedTestDriver.run(MyMapRedTestDriver.java:42) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) 
    at com.abc.test.MyMapRedTestDriver.main(MyMapRedTestDriver.java:77) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 

/user/root/raw_data /ディレクトリ内のファイルglobstatusは、HadoopのファイルシステムAPIで扱われ方に問題があるように思わ

答えて

0

... abc_02.txt abc_01.txt として命名されています。

私はちょうど

糸ジャーMyMapReduceTest01.jar com.abc.test.MyMapRedTestDriver /ユーザー/ルート/ RAW_DATA/abc_にコマンドを変更するために必要な任意のコードを変更することなく、上記のプログラムを動作させるために*