我有一个mapreduce工作,文件输入路径是:/basedirectory/*/*.txt
在基本目录中,我有不同的子文件夹(CaseA,CaseB等),每个子文件夹都包含hdfs文本文件。
在作业的地图阶段,我想找出数据碎片的确切位置(例如CaseA)。我怎样才能做到这一点?
我为mapreduce作业做了类似的事情,有超过1个输入hbase表,我使用context.getInputSplit()。getTableName()来查找实际的表名但不知道如何处理HDFS输入文件。
您可以使用context.getInputSplit()
(其中context
是mapper.context
)获取输入分割,然后在.getPath()
上使用inputSplit
方法返回文件路径。