应用场景:对于求平均数,汇总求和等问题
优点:在本地进行汇总,减少io和网络传输占带宽,提升性能
1介绍:
Combiner组件
1、是在每一个map task的本地运行,能收到map输出的每一个key的valuelist,所以可以做局部汇总处理
2、因为在map task的本地进行了局部汇总,就会让map端的输出数据量大幅精简,减小shuffle过程的网络IO
3、combiner其实就是一个reducer组件,跟真实的reducer的区别就在于,combiner运行maptask的本地
4、combiner在使用时需要注意,输入输出KV数据类型要跟map和reduce的相应数据类型匹配
5、要注意业务逻辑不能因为combiner的加入而受影响
2启动任务job中运用
//指定本job所使用的combiner类定义
job.setCombinerClass(WordCountReducer.class);