教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

ReduceTask工作机制:ReduceTask工作的5阶段

更新时间:2021年12月06日16时51分 来源:传智教育 浏览次数:

ReduceTask的工作过程主要经历了5个阶段,分别是Copy阶段、Merge阶段、Sort阶段、Reduce阶段和Write阶段,如下图所示。

ReduceTask

下面针对ReduceTask工作过程的5个阶段进行介绍:

(1) Copy阶段:Reduce会从各个MapTask上远程复制一片数据,并针对某一片数据,如果其大小超过一定阈值,则写到磁盘上,否则直接放到内存中。

(2) Merge阶段:在远程复制数据的同时,ReduceTask会启动两个后台线程,分别对内存和磁盘上的文件进行合并,以防止内存使用过多或者磁盘文件过多。

(3) Sort阶段:用户编写reduce()方法输人数据是按key进行聚集的一组数据。为了将key相同的数据聚在一起,Hadoop采用了基于排序的策略。由于各个MapTask已经实现对自己的处理结果进行了局部排序,因此,ReduceTask只需对所有数据进行一次归并排序即可。

(4) Reduce阶段:对排序后的键值对调用reduce()方法,键相等的键值对调用一次reduce()方法,每次调用会产生零个或者多个键值对,最后把这些输出的键值对写人到HDFS中。

(5) Write阶段: reduce()函数将计算结果写到HDFS上。



猜你喜欢:

MapReduce核心思想【图文介绍】

MapReduce程序怎样设置本地运行模式?

如何操作MapReduce的性能调优?

传智教育python+大数据开发课程

0 分享到:
和我们在线交谈!