一:Combiner概念
(1)Combiner是MR程序中Mapper和Reduce之外的一种组件
(2)Combiner组件的父类就是Reducer
(3)Combiner和Reduce的区别主要在于运行位置
Combiner是在每一个MapTask所在的节点运行
Reduce是在接受全局所有Mapper的输出结果后执行
(4)Combiner的意义就是对每一个MapTask的输出进行局部汇总,以减少网络传输量
(5)Combiner要在不影响最终逻辑业务的情况下使用,而且,Combiner的输出kv要和Reduce的输入kv类型对应起来。
二:Combiner实现步骤
(1)定义一个类继承Reducer,重写reduce方法。
(2)开始写逻辑代码,和原本reduce里写的一样。