combiner操作

来源:互联网 发布:mac如何截取视频 编辑:程序博客网 时间:2024/06/16 13:15

问:为什么使用Combiner?
答:Combiner发生在Map端,对数据进行规约处理,数据量变小了,传送到reduce端的数据量变小了,传输时间变短,作业的整体时间变短。

 

问:为什么Combiner不作为MR运行的标配,而是可选步骤哪?
答:因为不是所有的算法都适合使用Combiner处理,例如求平均数。

问:Combiner本身已经执行了reduce操作,为什么在Reducer阶段还要执行reduce操作哪?
答:combiner操作发生在map端的,处理一个任务所接收的文件中的数据,不能跨map任务执行;只有reduce可以接收多个map任务处理的数据。

 

问:combiner如何使用

答:job.setCombinerClass(MyCombiner.class);只需要这一句话就ok,一般将MyReducer传入即可。

0 0