我将fileinputformat设置为hadoop输入。这个 arg[0]+"/*/*/*" 说不匹配文件。我想从多个文件中读取:
arg[0]+"/*/*/*"
Directory1 ---Directory11 ---Directory111 --f1.txt --f2.txt ---Directory12 Directory2 ---Directory21
在hadoop中可能吗?谢谢!
r55awzrz1#
您可以使用*****运算符从多个目录和文件中获取输入。很可能是因为“arg[0]”参数不正确,因此找不到文件。或者,也可以使用inputformat.addinputpath,或者如果需要单独的格式或Map器,可以使用multipleinputs类。添加路径的基本示例
FileInputFormat.addInputPath(job, myInputPath);
这是一个多输入的例子
MultipleInputs.addInputPath(job, inputPath1, TextInputFormat.class, MyMapper.class); MultipleInputs.addInputPath(job, inputPath2, TextInputFormat.class, MyOtherMapper.class);
另一个问题也很相似,有很好的答案,hadoop可以从多种输入格式中减少。
1条答案
按热度按时间r55awzrz1#
您可以使用*****运算符从多个目录和文件中获取输入。很可能是因为“arg[0]”参数不正确,因此找不到文件。
或者,也可以使用inputformat.addinputpath,或者如果需要单独的格式或Map器,可以使用multipleinputs类。
添加路径的基本示例
这是一个多输入的例子
另一个问题也很相似,有很好的答案,hadoop可以从多种输入格式中减少。