如何在 Mapreduce 作业的映射器中获取数据分片的文件路径?
How can I get the file path for data shard in the Mapper of a Mapreduce job?
我有一个 mapreduce 作业,其中文件输入路径是:/basedirectory/*/*.txt
在基本目录中,我有不同的子文件夹(CaseA、CaseB 等),每个子文件夹都包含 hdfs 文本文件。
在作业的映射阶段,我想找出数据分片的确切来源(例如CaseA)。我怎样才能做到这一点?
我已经为具有 1 个以上输入 hbase tables 的 mapreduce 作业做了类似的事情,我使用 context.getInputSplit().getTableName() 来查找实际的 table 名称但不确定如何处理 HDFS 输入文件。
您可以使用 context.getInputSplit()
(其中 context
是 mapper.context
)获得输入拆分,然后在 inputSplit
到 [=17] 上使用 .getPath()
方法=] 文件路径.
我有一个 mapreduce 作业,其中文件输入路径是:/basedirectory/*/*.txt
在基本目录中,我有不同的子文件夹(CaseA、CaseB 等),每个子文件夹都包含 hdfs 文本文件。
在作业的映射阶段,我想找出数据分片的确切来源(例如CaseA)。我怎样才能做到这一点?
我已经为具有 1 个以上输入 hbase tables 的 mapreduce 作业做了类似的事情,我使用 context.getInputSplit().getTableName() 来查找实际的 table 名称但不确定如何处理 HDFS 输入文件。
您可以使用 context.getInputSplit()
(其中 context
是 mapper.context
)获得输入拆分,然后在 inputSplit
到 [=17] 上使用 .getPath()
方法=] 文件路径.