Hadoop(五)MapTask与ReduceTask
MapTask阶段
Map
读取数据文件,创建MapTask,进行Map计算。
分区partitioner
创建分区,将相同的key值,进行map阶段的内部reduce。将相同key值的数据发送到同一个reduce中去。
分区的数量和reduceTask的数量相关。分区数量≤reduceTask数量
排序sort
排序阶段,对每个maptask的数据进行内部的排序。
规约Conbiner
Combiner本质上是一个reduce,因为它的父类是Reducer。combiner的作用是对每一个maptask的输出进行局部合并汇总,以减少网络传输量
ReduceTask阶段
Copy阶段
拉取MapTask中拉取属于自己的文件(规则可以自己定义)。
Merge阶段
首先将文件拷贝在缓冲区中。之后写入到本地文件。
reduce
调用reduce函数对文件进行处理
Mapreduce当中的join操作
转载文章
Mapreduce当中的join操作
在处理文件过程中,将文件在某种程度上结合输出。类似于SQL中的Join算法。进行join操作,可以在map端,也可以在reduce端。
具体参考:https://www.cnblogs.com/jimmy888/p/13568735.html