如何在hadoop中使用combineFileInputFormat for java?

时间:2013-02-06 13:52:25

标签: java hadoop

我正在处理大量的小文件,并使用了combineFileInputFormat来避免大量的map任务。它工作正常,但问题是我需要拥有每个文件的id,这样所有文件的id都是1.我如何保存文件的ID?我是否必须添加一些代码我的combineFileInputFormat?

1 个答案:

答案 0 :(得分: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),则属性名称相同。