关于Map端的Shuffle过程与Reduce 端的Shuffle过程

在Map端的Shuffle过程:

Map的输出结果首先被写入缓存,当缓存满时,就启动溢写操作,把缓存中的数据写入磁盘文件,并 清空缓存。当启动溢写操作时,首先需要把缓存中的数据进行分区,然后对每个分区的数据进行排序和合并,之后再写入磁盘文件。每次溢写操作会生成一个新的磁盘文件,随着Map任务的执行,磁盘
中就会生成多个溢写文件。在Map任务全部结束之前,这些溢写文件会被归并成一个大的磁盘文件,然后通知相应的Reduce任务来领取属于自己处理的数据。
Map端Suffer过程包括四个步骤
(1)输入数据和执行Map任务
(2)写入缓存
(3)溢写(分区, 排序和合并)
(4)文件归并

在Reduce 端的Shuffle过程:

Reduce任务从Map端的不同Map机器领回属于自己处理的那部分数据,然后对数据进行归并后交给 Reduce处理。
相对于Map端而言,Reduce端的Shuffer过程非常简单,只需要从Map端读取Map结果,然后执行归并操作,最后输送给Reduce任务进行处理。Reduece端的Shuffer过程包括3个步骤:
(1)“领取”数据
(2)归并数据
(3)把数据输入给Reduce任务。

接下来Reduce任务会执行Reduce 函数中定义的各种映射,输出最终结果,并保存到分布式文件系统中。

使用MapReduce来对句子" Whatever is worth doing is worth doing well" 进行单词统计的过程。包括:Map的输入与输出; Reduce的输入与输出.

在这里插入图片描述

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itlanmao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值