第28课:彻底解密Spark Sort-Based Shuffle排序具体实现内幕和源码详解

本文详细解读Spark的Sort-Based Shuffle机制,解释其借助ExternalSorter进行排序和数据组织的过程,以及如何减少临时文件。文章指出,尽管名为Sorted-Based Shuffle,但实际结果通常并不排序。通过源码分析,揭示了SortShuffleManager、SortShuffleWriter和ExternalSorter的关键角色,特别是ExternalSorter中的PartitionedAppendOnlyMap和PartitionedPairBuffer数据结构以及排序过程。
摘要由CSDN通过智能技术生成

第28课:彻底解密Spark Sort-Based Shuffle排序具体实现内幕和源码详解

本文根据家林大神系列课程编写 http://weibo.com/ilovepains

为什么讲解Sorted-Based shuffle?2方面的原因:
一,可能有些朋友看到Sorted-Based Shuffle的时候,会有一个误解,认为Spark基于Sorted-Based Shuffle 它产出的结果是有序的。
二,Sorted-Based Shuffle要排序,涉及到一个排序算法。这部分内容同学们可选学。

 

Sorted-Based Shuffle 的核心是借助于 ExternalSorter 把每个 ShuffleMapTask 的输出,排序到一个文件中 (FileSegmentGroup),为了区分下一个阶段 Reducer Task 不同的内容,它还需要有一个索引文件 (Index) 来告诉下游 Stage 的并行任务,那一部份是属于你的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

段智华

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

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

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

打赏作者

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

抵扣说明:

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

余额充值