0

我正在处理大量小文件,并使用 combineFileInputFormat 来避免执行大量地图任务。它工作正常,但问题是我需要每个文件的 id,这样所有文件的 id 都是 1。我怎样才能保留文件的 id?我必须在 combineFileInputFormat 中添加一些代码吗?

4

1 回答 1

0

为它正在处理的CombineFileRecordReader当前文件配置一个配置属性,因此您应该能够从该map.input.file属性中获取当前文件名:

@Override
protected void map(Longwritable key, Text value, Context context) {
    String filePath = context.getConfiguration().get("map.input.file");
}

如果您使用的是旧 API (mapred),则属性名称是相同的。

于 2013-02-07T11:58:39.050 回答