Facebook : Corona的Reduce延时启动

来源:互联网 发布:mac air连接电视 编辑:程序博客网 时间:2024/05/16 09:20

在MR的计算模型中,过早启动Reduce,reduce会空等map的完成,这是资源浪费,这个资源完全可以用来执行真正需要执行的任务。
Corona的实现中,同样考虑了Reduce的延时启动。主要是下面三个单数来进行判断:
# 当前job的最小map门限,如果一个job的未执行完毕的map数达到这个门限,则开始reduce的启动
public static final String RUSH_REDUCER_MAP_THRESHOLD =    mapred.job.rushreduce.map.threshold(最小map数)

#同上,job的reduce门限     
public static final String RUSH_REDUCER_REDUCE_THRESHOLD = mapred.job.rushreduce.reduce.threshold(最小Reduce数)

# map执行完成的百分比,达到这个比例在开始启动reduce
 mapred.reduce.slowstart.completed.maps(默认0.05F)  

代码判断逻辑如下:

 

原创粉丝点击