首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Hadoop的reduce_input_records比combine_output_records少?

为什么Hadoop的reduce_input_records比combine_output_records少?
EN

Stack Overflow用户
提问于 2013-10-09 02:11:37
回答 1查看 261关注 0票数 0

我使用组合器运行WordCount的示例。下面是运行结果:

代码语言:javascript
复制
13/10/07 22:32:38 INFO mapred.JobClient:     Map input records=20111076
13/10/07 22:32:38 INFO mapred.JobClient:     Reduce shuffle bytes=467280
13/10/07 22:32:38 INFO mapred.JobClient:     Spilled Records=541137
13/10/07 22:32:38 INFO mapred.JobClient:     Map output bytes=632287974
13/10/07 22:32:38 INFO mapred.JobClient:     Total committed heap usage (bytes)=4605870080
13/10/07 22:32:38 INFO mapred.JobClient:     Combine input records=62004735
13/10/07 22:32:38 INFO mapred.JobClient:     SPLIT_RAW_BYTES=2280
13/10/07 22:32:38 INFO mapred.JobClient:     Reduce input records=32020
13/10/07 22:32:38 INFO mapred.JobClient:     Reduce input groups=1601
13/10/07 22:32:38 INFO mapred.JobClient:     Combine output records=414658
13/10/07 22:32:38 INFO mapred.JobClient:     Reduce output records=1601
13/10/07 22:32:38 INFO mapred.JobClient:     Map output records=61622097

我有两个问题,为什么map_output_recordscombine_input_records少?为什么reduce_input_recordscombine_output_records少得多?我知道组合器可能会被调用几次,但是combine_output_records的图形不应该是最后一次调用的结果吗?为什么它不等于reducers消耗的记录数?

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2013-10-09 16:07:30

组合器并不总是被调用,实际上你无法控制它是否被调用(或者调用多少次),这是由框架决定的。这可能解释了这些数字。不过,看起来组合器做得很好:

映射输出records=61622097 -> Reduce input records=32020

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19255185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档