在我们使用的mapper或reducer中获取文件路径
FileSplit fileSplit = (FileSplit)reporter.getInputSplit();
String filename = fileSplit.getPath().getName();
System.out.println("File name "+filename);
System.out.println("Directory and File name"+fileSplit.getPath().toString());
process(key,value);
但在输入文件夹中,我有五个不同类型的文件,所以需要获得文件名,这样我就可以为不同的文件设置不同的Map器。args[0]my input folder/cloudera/test中的示例包含test.txt、dev.txt和rev.txt
如果文件名包含dev,我应该设置mapper1文件名包含test,我应该设置mapper2。。。。。。。。。。
1条答案
按热度按时间wmvff8tz1#
你必须使用
MultipleInputs
我想我得到了一个很好的链接,当我很久以前练习的时候,它也帮助了我。多输入使用