Spark RDD源码阅读01

RDD是什么:Resilient Distributed Dataset




一、RDD的特征属性

      

  

1、partitions

      

 

2、compute

      

 

3、dependencies

      

 

 

二、RDD的执行Job的流程

RDD:  这些方法是判断这个Job结束的标志,然后开始执行Job。

      

 

 SparkContext:

       

 

       

 

       

 

       

 

DAGScheduler:

1、

       

 2、

       

 3、

       

 4、

       

 5、

       

 6、

       

 7、

       

 8、

       

 9、

       

 10、

       

 11、1号表示获取当前shuffledDep.rdd的依赖的shuffleRdd,2号表示对所依赖的shuffleRdd划分stage。由此看出是通过shuffleRdd来划分stage的。

       

 12、

       

 13、

       

 14、这个newShuffleMapStage 是去得到依赖的stage,从这可看出跟9号图一样的方法来获取父stage。进行了DAG图依赖的得到所有的stage。

       

 15、回到8号图,执行以下的方法后,

       

 16、从7号图的listenerBus的post提交的事件。

       

 

       

三、基本方法

      cache() 和 persist() 一致。

      

 

 

 

       

 

 

 

 

 

 

      



posted @ 2017-05-09 14:42  I'm_kylin  阅读(547)  评论(0编辑  收藏  举报