Shuffle的作用以及MapReduce的Shuffle过程

Shuffle的设计

为什么需要Shuffle?

Shuffle的本质是基于磁盘划分来解决分布式大数据量的全局分组、全局排序、重新分区【增大】 等问题

因为单台机器的资源处理不了分布式大数据量全局分区/排序/分组

所以需要通过Shuffle对每一台机器的数据构建一个Task来做分区的标记(通过Hash或Ranger分区器)这样所有的数据被标记后就可以根据标记进入指定分区,实现全局分区/分组/排序功能


举例说明

假设有一个HDFS文件,分成三个Block块,每台机器上有一个Block
 node1-Block1:(a,1)(c,9)(c,6)(d,3)
 node2-Block2:(b,4)(a,8)(d,2)
 node3-Block3:(b,7)(d,5)

需求:在分布式大数据量计算过程中,需要对所有数据进行全局分组 / 全局排序 / 重新分配

全局分组:相同单词的放在一组

  • node1-Block1:(a, [1,8])(c, [9,6])
  • node
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值