开发者社区> 问答> 正文

hadoop中combiner的作用是什么?

hadoop中combiner的作用是什么?

展开
收起
愚笨如你 2020-02-14 21:04:09 2006 0
2 条回答
写回答
取消 提交回答
  • 可以举个简单的例子来解释下。比如wordcount程序,对这样的语句"daddy finger, daddy finger, where are you, here I am, here I am, how do you do"进行workcount。有两个map分别处理三个短句,map1的输出结果是:<daddy, 1> <finger, 1> <daddy, 1> <finger, 1> <where, 1> <are, 1> <you, 1>;map2的输出结果是:<here, 1> <I, 1> <am ,1> <here, 1> <I, 1> <am, 1> <how, 1> <do, 1> <you, 1> <do, 1>。有一个reduce来处理count操作。如果不采用combiner的话,总共有17条记录传递给reduce task。如果采用combiner的话,combiner会对map task本地端的结果进行combine操作(这里是wordcount),这样map端的数据结果就是combiner之后的结果,比如map1的输出结果就变成<daddy, 2> <finger, 2> <where, 1> <are, 1> <you, 1>;map2的输出结果就变成<here, 2> <I, 2> <am ,2> <how, 1> <do, 2> <you, 1>。这样总共有11条记录传递给reduce task,比之前的少。所以combier主要目的是减少map输出。

    2020-03-02 19:25:15
    赞同 展开评论 打赏
  • 当map生成的数据过大时,带宽就成了瓶颈,怎样精简压缩传给Reduce的数据,又不影响最终的结果呢。有一种方法就是使用Combiner,Combiner号称本地的Reduce,Reduce最终的输入,是Combiner的输出。

    2020-02-14 21:04:26
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
\"Hadoop的过去现在和未来——从阿里云梯到E-MapReduce \" 立即下载
Hadoop的过去现在和未来 立即下载
Why is my Hadoop* job slow 立即下载

相关实验场景

更多