大数据的世界里,我们知道每一个map可能会产生大量的输出,combiner的作用就是在map端对输出先做一次合并,以减少传输到reducer的数量。combiner最基本是实现本地key的归并,combiner具有类似本地的reducer功能。
注意:combiner的输出就是reducer的输入,如果combiner是可插拔的,添加combiner决不能改变最终的计算结果,所以combiner只应该用于那种reduce的输入key/value与输出key/value类型完全一致,且不影响最终结果的场景。