查找資料,發現可以通過
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,一切搞定