我正在处理大量的小文件,并使用了combineFileInputFormat来避免大量的map任务。它工作正常,但问题是我需要拥有每个文件的id,这样所有文件的id都是1.我如何保存文件的ID?我是否必须添加一些代码我的combineFileInputFormat?
答案 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),则属性名称相同。