Combiner
合并也属于Shuffle
机制Combiner
的父类是Reducer
Combiner
和Reducer
的区别在于运行时的位置Combiner
是在每一个MapTask
所在的节点运行的Reducer
接收全局所有Mapper
的输出结果
Combiner
的意义就是对每一个MapTask
的输出进行局部汇总,主要目的是为了减小网络的传输量- 并不是所有的场景都能适用
Combiner
,一般主要用于求和操作
实现Combiner
的步骤就是继承Reducer
,最后在Driver
类通过setCombinerClass(类.class)
设置进去就好了