Shuffle(混洗)

shuffle的步骤

shuffle 分为 分区, 排序, combiner, 分组,四个步骤

1map把key和value的值传给shuffle的partition, … …partition按照一定的算法来给数据划分区域然后传给shuffle的soft (算法:对key 进行哈希,获取到一个哈希值,用这个哈希值与reducetask的数量取余。余几,这个数据就放在余数编号的partition中。)

2 shuffle的soft把数据排序,然后发给combiner

3 combiner对数据进行局部聚合 然后传给Shuffle的Group

4 Group:将相同key的key提取出来作为唯一的key,将相同key对应的value获取出来作为value的list将数据传给Reduce

图片步骤

Shuffle(混洗)