Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在处理大量小文件,并使用 combineFileInputFormat 来避免执行大量地图任务。它工作正常,但问题是我需要每个文件的 id,这样所有文件的 id 都是 1。我怎样才能保留文件的 id?我必须在 combineFileInputFormat 中添加一些代码吗?
为它正在处理的CombineFileRecordReader当前文件配置一个配置属性,因此您应该能够从该map.input.file属性中获取当前文件名:
CombineFileRecordReader
map.input.file
@Override protected void map(Longwritable key, Text value, Context context) { String filePath = context.getConfiguration().get("map.input.file"); }
如果您使用的是旧 API (mapred),则属性名称是相同的。