mapreduce和globstatus中出现空指针异常

bihw5rsg  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(476)

我最近在编写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(status);

下面是我如何调用程序
yarn jar mymapreducetest01.jar com..test.mymapredtestriver/user/root/raw\ u data/*
这将导致以下异常

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\u data/目录中的文件命名为\u 01.txt \u 02.txt。。。

yrdbyhpb

yrdbyhpb1#

hadoop文件系统api中globstatus的处理方式似乎有问题。
为了使上面的程序在没有任何代码更改的情况下工作,我只需要将命令更改为
yarn jar mymapreducetest01.jar com..test.mymapredtestriver/user/root/raw\ u data/_*

相关问题