hadoop中combiner的作用是什么?
可以举个简单的例子来解释下。比如wordcount程序,对这样的语句'daddy finger, daddy finger, where are you, here I am, here I am, how do you do'进行workcount。有两个map分别处理三个短句,map1的输出结果是: ;map2的输出结果是: 。有一个reduce来处理count操作。如果不采用combiner的话,总共有17条记录传递给reduce task。如果采用combiner的话,combiner会对map task本地端的结果进行combine操作(这里是wordcount),这样map端的数据结果就是combiner之后的结果,比如map1的输出结果就变成 ;map2的输出结果就变成 。这样总共有11条记录传递给reduce task,比之前的少。所以combier主要目的是减少map输出。
赞0
踩0