MapReduce shuffle 和 sort 阶段的复制操作

Posted

技术标签:

【中文标题】MapReduce shuffle 和 sort 阶段的复制操作【英文标题】:Copy operations in shuffle and sort phase of MapReduce 【发布时间】:2018-05-08 10:02:37 【问题描述】:

我很困惑在 Shuffle 和 Sort 阶段,具有 m 个映射器和 r 个 reducer 的作业涉及到 mr 复制操作。哪种情况下复制操作会达到最大值m*r?

谁能说明一下?

【问题讨论】:

@Mikel 你能帮忙吗 【参考方案1】:

假设您有 3 个映射器和 1 个减速器。每个映射器任务输出 1 个文件(按键排序),该文件被写入运行 map 函数的本地文件系统。因此,我们将有 3 个这样的输出文件分布在集群中。

由于 reducer 没有利用数据局部性优化,而且我们只有 1 个 reducer - 它需要复制每个映射器任务通过网络生成的 3 个不同的输出文件。

因此,此场景涉及m x n = 3 x 1 = 3 复制操作。

【讨论】:

以上是关于MapReduce shuffle 和 sort 阶段的复制操作的主要内容,如果未能解决你的问题,请参考以下文章

MapReduce shuffle 和 sort 阶段的复制操作

Map Reduce编程中reducer中的shuffle和sorting阶段的目的是啥?

MapReduce-shuffle过程详解

请帮助 Hadoop 中的 Shuffle 和 Sorting 的必要性是啥?

Hadoop中的Shuffle 与 Spark中的Shuffle得区别与联系

hadoop-mapreduce中reducetask执行分析