mapreduce—如何在hadoop中从输入文件路径的外部Map器和reducer(即驱动程序类)获取文件名

6l7fqoea  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(335)

在我们使用的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。。。。。。。。。。

wmvff8tz

wmvff8tz1#

你必须使用 MultipleInputs 我想我得到了一个很好的链接,当我很久以前练习的时候,它也帮助了我。
多输入使用

相关问题