当我将 fileinputFormat 设置为 hadoop 输入时。arg[0]+"/*/*/*"
说匹配没有文件。
我想要的是从多个文件中读取:
目录1 ---目录11 ---目录111 --f1.txt --f2.txt ---目录12 目录2 ---目录21
在Hadoop中可能吗?谢谢!
您可以使用 ***** 运算符从多个目录和文件中获取输入。很可能是因为“arg[0]”参数不正确,因此它没有找到文件。
作为替代方案,您也可以使用 InputFormat.addInputPath,或者如果您需要单独的格式或映射器,可以使用MultipleInputs类。
基本添加路径示例
FileInputFormat.addInputPath(job, myInputPath);
这是一个多输入的例子
MultipleInputs.addInputPath(job, inputPath1, TextInputFormat.class, MyMapper.class);
MultipleInputs.addInputPath(job, inputPath2, TextInputFormat.class, MyOtherMapper.class);
This other question也非常相似并且有很好的答案,Hadoop to reduce from multiple input formats。