Hadoop 为什么不';难道我所有的地图输出记录都没有减少吗?

Hadoop 为什么不';难道我所有的地图输出记录都没有减少吗?,hadoop,mapreduce,Hadoop,Mapreduce,我有一个具有以下计数器的MapReduce作业 Map output records: 1,256,043,797 Reduce input records: 1,027,012,342 我没有使用组合器,所以我很惊讶reduce中的记录比map生成的记录要少。是什么导致了这种情况?事实证明,发生这种情况是因为我的reduce没有遍历某些键的所有值。计数器显示消耗的reduce记录数,因此,如果reducer对每个键都通过迭代器,则它将仅等于映射输出记录。能否提供与mapper和reduc

我有一个具有以下计数器的MapReduce作业

Map output records:   1,256,043,797
Reduce input records: 1,027,012,342

我没有使用组合器,所以我很惊讶reduce中的记录比map生成的记录要少。是什么导致了这种情况?

事实证明,发生这种情况是因为我的reduce没有遍历某些键的所有值。计数器显示消耗的reduce记录数,因此,如果reducer对每个键都通过迭代器,则它将仅等于映射输出记录。

能否提供与mapper和reducer相关的代码的更多详细信息,这些代码可能会被清除。是否由于推测性执行而运行其他映射作业?