combiner函数

job.setCombinerClass(TxtReducer.class);
接受的也是一个自定义的Reducer类,它的作用是在Map类执行结束后,预先执行一次小规模的Reducer操作,从而实现简单的数据合并。

合并方法属于一种优化方案,所以hadoop无法确定针对map任务输出中任一条记录需要调用多少次合并方法。0次,1次,或者多次,Reduce的结果都应该是一致的。

Combiner是通过Reducer类来定义的。并非所有的情景都适用Combiner,求最大可以,求平均不可以,影响结果。

你可能感兴趣的:(combiner函数)