【发布时间】:2016-12-28 06:57:30
【问题描述】:
要在 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);
但是在输入文件夹中我有五种不同类型的文件,所以需要获取文件名,以便我可以为不同的文件设置不同的映射器。 args[0] 中的示例我的输入文件夹 /cloudera/test 包含 test.txt,dev.txt,rev.txt
如果文件名包含 dev 我应该设置 mapper1 文件名包含测试我应该设置映射器 2 ..........
【问题讨论】: