hadoop可以从多个目录和文件中获取输入

Jud*_*ang 6 hadoop input

当我将fileinputFormat设置为hadoop输入时.该arg[0]+"/*/*/*"说比赛没有文件.

我想要的是从多个文件中读取:

Directory1
---Directory11
   ---Directory111
        --f1.txt
        --f2.txt
---Directory12
Directory2
---Directory21

在Hadoop中有可能吗?谢谢!

gre*_*dha 4

您可以使用 ***** 运算符从多个目录和文件获取输入。最有可能的是因为“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