组合器在Map器之后和缩减器之前运行,它将接收给定节点上Map器示例发出的所有数据作为输入。然后它向减速器输出。所以合路器输入的记录应该小于Map输出。
12/08/29 13:38:49 INFO mapred.JobClient: Map-Reduce Framework
12/08/29 13:38:49 INFO mapred.JobClient: Reduce input groups=8649
12/08/29 13:38:49 INFO mapred.JobClient: Map output materialized bytes=306210
12/08/29 13:38:49 INFO mapred.JobClient: Combine output records=859412
12/08/29 13:38:49 INFO mapred.JobClient: Map input records=457272
12/08/29 13:38:49 INFO mapred.JobClient: Reduce shuffle bytes=0
12/08/29 13:38:49 INFO mapred.JobClient: Reduce output records=8649
12/08/29 13:38:49 INFO mapred.JobClient: Spilled Records=1632334
12/08/29 13:38:49 INFO mapred.JobClient: Map output bytes=331837344
12/08/29 13:38:49 INFO mapred.JobClient: **Combine input records=26154506**
12/08/29 13:38:49 INFO mapred.JobClient: **Map output records=25312392**
12/08/29 13:38:49 INFO mapred.JobClient: SPLIT_RAW_BYTES=218
12/08/29 13:38:49 INFO mapred.JobClient: Reduce input records=17298
1条答案
按热度按时间qltillow1#
我认为这是因为合并器也可以在以前的合并步骤的输出上运行,因为您的合并器运行并生成新的记录,然后这些记录与来自Map器的其他记录合并。也可能是在合并器运行之后计算map输出记录,这意味着由于某些记录已被合并,因此记录较少。