开发者社区> 问答> 正文

ReduceTask工作机制有哪些阶段,作用分别是什么呢?

ReduceTask工作机制有哪些阶段,作用分别是什么呢?

展开
收起
游客vqgchj4kfdzsu 2021-12-05 23:56:47 364 0
1 条回答
写回答
取消 提交回答
  • (1)Copy阶段:ReduceTask从各个MapTask上远程拷贝一片数据,并针对某一片数据,如果其大小超过一定阈值,则写到磁盘上,否则直接放到内存中。

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

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

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

    2021-12-06 10:26:23
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Flink中的两类新型状态存储 立即下载
为并行图数据处理提供高层抽象/语言 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载