Hadoop mapreduce和GlobStatus中出现空指针异常
我最近在编写Mapreduce应用程序时使用Hadoop文件系统API和GlobStatus时遇到了一个问题 下面是驱动程序的片段Hadoop mapreduce和GlobStatus中出现空指针异常,hadoop,nullpointerexception,mapreduce,Hadoop,Nullpointerexception,Mapreduce,我最近在编写Mapreduce应用程序时使用Hadoop文件系统API和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(statu
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);
下面是我调用程序的方式
纱线jar MyMapReduceTest01.jar com.abc.test.MyMapRedTestDriver/user/root/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/目录中的文件命名为
abc_01.txt
abc_02.txt
在Hadoop文件系统API中处理globstatus的方式似乎有问题 为了使上面的程序在没有任何代码更改的情况下工作,我只需要将命令更改为 纱线jar MyMapReduceTest01.jar com.abc.test.MyMapRedTestDriver/user/root/raw\u data/abc\u*