当我将fileinputFormat设置为hadoop输入时.该arg[0]+"/*/*/*"说比赛没有文件.
我想要的是从多个文件中读取:
Directory1
---Directory11
---Directory111
--f1.txt
--f2.txt
---Directory12
Directory2
---Directory21
在Hadoop中有可能吗?谢谢!
您可以使用 ***** 运算符从多个目录和文件获取输入。最有可能的是因为“arg[0]”参数不正确,因此它找不到文件。
作为替代方案,您还可以使用 InputFormat.addInputPath,或者如果您需要单独的格式或映射器,则可以使用MultipleInputs类。
基本添加路径的示例
FileInputFormat.addInputPath(job, myInputPath);
Run Code Online (Sandbox Code Playgroud)
这是多输入的示例
MultipleInputs.addInputPath(job, inputPath1, TextInputFormat.class, MyMapper.class);
MultipleInputs.addInputPath(job, inputPath2, TextInputFormat.class, MyOtherMapper.class);
Run Code Online (Sandbox Code Playgroud)
这个另一个问题也非常相似并且有很好的答案,Hadoop to reduce from multiple input fields。
| 归档时间: |
|
| 查看次数: |
10516 次 |
| 最近记录: |