摘要
MapReduce作业执行过程包含Map和Reduce两个阶段,Reduce阶段需要复制Map阶段产生的中间数据到本地进行计算产生最终的输出数据。其中,Reduce阶段包括Sort,Shuffle和Reduce等3个子阶段,Shuffle子阶段通过网络链路传输数据,花费的时间占Reduce阶段的1/3以上,具有较大的优化空间。文章提出了一种基于Reduce阶段执行链路分析的优化节点选择算法,通过合理选择优化节点,并部署相对应的Reduce任务,降低节点间的数据传输开销,减少对网络带宽资源的占用,加速Reduce任务的执行,从而实现总体MapReduce作业的执行优化。