当前位置: 首页 > 工具软件 > kaishi > 使用案例 >

第36课:kaishi 彻底解密Spark 2.1.X中Sort Shuffle中Reducer端源码内幕

祁远
2023-12-01

第36课:kaishi 彻底解密Spark 2.1.X中Sort Shuffle中Reducer端源码内幕

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

本课讲解Spark 2.1.X中Sort Shuffle中Reducer端的源码内幕,Spark是MapReduce思想的一种实现,相对于Hadoop的MapRedcue,Spark作业job根据算子的依赖关系,当是宽依赖的时候会产生Shuffle,这个时候划分成不同的Stage,前面的Stage是后面Stage的Mapper,后面Stage是前面Stage的Redcuer。研究的核心是Map Reduce以及中间网络传输的过程。从Redcue的角度讲,肯定有拉取数据的过程,这个跟原始的大数据分布式思想是完全一致的。在Hadoop的MapRedcue中是链式的,Map,Redcue,接着Map,Redcue,从Hadoop的角度讲,前面是Map,Map,Map...后面是Redcue,Hadoop借助于Oozie工具来实现多个Map/Reduce作业连接到一起。而Spark基于DAG的模型天然可迭代的。

         Spark研究Reducer端的Stage的时候,从ShuffledRDD去谈。从RDD的运行角度讲,Shuffled的RDD是RDD的具体实现,因此关键是分析compute方法。

 类似资料: