查找资料,发现可以通过
InputSplit inputSplit=(InputSplit)context.getInputSplit();
String filename=((FileSplit)inputSplit).getPath().getName();
来获取,结果很不幸,我失败了,问题出在哪里呢,还是新旧API捣的鬼。
其实以前的“Hadoop中mapred包和mapreduce包的区别”中有提到hadoop的新旧API。
Hadoop旧API:org.apache.hadoop.mapred.FileSplit已废弃
应该采用新的API,换成新的API:org.apache.hadoop.mapreduce.lib.input.FileSplit
OK,一切搞定

本文探讨了在Hadoop中从旧API (org.apache.hadoop.mapred.FileSplit) 迁移到新API (org.apache.hadoop.mapreduce.lib.input.FileSplit) 的过程。通过解决文件名获取的问题,揭示了新旧API之间的差异。
1562

被折叠的 条评论
为什么被折叠?



