mr job各个阶段的正确顺序?

fdbelqdn  于 2021-06-01  发布在  Hadoop
关注(0)|答案(2)|浏览(301)

我试图了解mr作业所经历的各个阶段。我也读过网上的文档。
基于此,我对顺序的理解如下:
map()->partitioner->sorting(在mapper机器上)->shuffle->sorting(在reducer机器上)->groupby(键)(在reducer机器上)->reduce()
这是mr作业执行的正确顺序吗?

zujrkrfu

zujrkrfu1#

Map缩减作业时间线

Map阶段:执行多个Map任务
reduce阶段:执行多个reduce任务
maptask的时间线

reducetask的时间线

图像来源:https://www.slideshare.net/emiliocoppa/hadoop-internals

szqfcxe2

szqfcxe22#

map reduce作业的各个阶段:
Map阶段:
从hdfs读取分配的输入拆分
将输入解析为键值对
对每个记录应用Map函数
通知主节点其完成
分区阶段
每个Map器必须确定哪个减速机将接收每个输出
对于任何键,目标分区都是相同的
隔板数量=异径管数量
洗牌阶段
从所有Map任务中获取与reduce任务的bucket对应的部分的输入数据
排序阶段
合并将所有Map输出排序为单个运行
还原相
将自定义reduce函数应用于合并的un
参数是键和相应的值列表
将输出写入hdfs中的文件

相关问题