查找资料,发现可以通过
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,一切搞定