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

第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 的并行任务,那一部份是属于你的。

 

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

 



Shuffle Map Task 在ExternalSorter 溢出到磁盘的时候,产生一组 File (File Group是hashShuffle中的概念,理解为一个file文件池,这里为区分,使用File的概念,FileSegment根据PartionID排序)和 一个索引文件,Fi

你可能感兴趣的:(SparkInBeiJing,Spark,shuffle)