MapReduce源码分析3-ReduceTask
之前介绍了 MapReduce 的原理、 MapReduce 任务的提交与切片以及Map 任务的执行者MapTask相关的源码,知道了 MapReduce 的原理并了解了部分 Map 任务源码的实现,这里分析一下具体执行 Reduce 任务的 ReduceTask 的源码,看一下 Reduce 任务的具体源码实现。
这是 MapReduce 源码分析系列的第三篇文章,有关 MapReduce 相关的所有内容可以到这里查看。
之前看到了 MapTask 任务的具体执行流程,Map 任务执行的输出的一个或多个结果最终会交给 Reduce 端,由 Reduce 汇聚处理之后输出。现在就看一下 ReduceTask 的具体源码,看一下 Reduce 端都做了些什么事。这里有关 Shuffle 的代码先不分析,主要看 Reduce 端的实现。
MapReduce源码分析2-MapTask
之前介绍了 MapReduce 的原理和 MapReduce 任务的提交与切片相关的源码,知道了MapReduce的原理,这里分析一下具体执行Map任务的MapTask的源码,看一下Map任务的具体源码实现。
这是 MapReduce 源码分析系列的第二篇文章,有关 MapReduce 相关的所有内容可以到这里查看。
在MapReduce 任务的提交与切片这篇文章中,从源码角度看了一遍 MapReduce 任务从创建到提交,然后分片的整个流程,了解了分片机制的具体实现。有关资源调度的内容非常复杂,这里先不展开,回头有时间再好好研究一下,下面介绍一下节点 Container 中执行 Map 任务的 MapTask 的源码实现。