首先要获取输入的分割块(input split),MapReduce的接口为:
context.getInputSplit();
为了获得文件路径和文件名,需要首先将结果类型转换到FileSplit,故,获取数据所在目录:
Path filePath = ((FileSplit) context.getInputSplit()).getPath();
String filePathString = ((FileSplit) context.getInputSplit()).getPath().toString();
类似的,获取数据所在文件:
String fileName = ((FileSplit) context.getInputSplit()).getPath().getName();
注意加入:
import org.apache.hadoop.mapreduce.lib.input.FileSplit;
import org.apache.hadoop.fs.Path;