在hadoop的开发中,经常要根据streaming中不同的文件名做不同的处理,需要获取文件名。
1,hadoop上在java开发可用:
FileSplit fileSplit = (FileSplit)reporter.getInputSplit();
String fileName = fileSplit.getPath().getName();
来获取文件名称。
,2,同样python开发时,可以用:
来获取文件名:
import os
os.environ["map_input_file"]
这里的 map_input_file 相当于map.input.file
参考:
http://stackoverflow.com/questions/11434850/how-to-get-the-name-of-input-file-in-mrjob/11437781#11437781