spark 逻辑执行图&物理执行图

1.逻辑执行图

job 会经过哪些transformation

中间会生成哪些rdd

rdd之间的依赖关系

narrow dependences :父rdd 中的数据不被拆分

shuffle dependences : 父rdd中的数据被拆分

rdd中的partition个数

一般情况下由父rdd的最大partition个数来决定,部门rdd可以由用户来指定,比如shffledRDD

2.物理执行图

如何划分job

一旦出现action() ,就会生成一个job;例如reduce() collect(),count(),foreach(),saveAsHadoopFile() 等等额;

如何划分stage和task

从后往前推,遇到shuffle deependences就断开,遇到narrow dependences就加入当前stage

每个task的数目由该stage最后一个RDD的partitio个数来决定

spark 逻辑执行图&物理执行图

 

 

3.其它spark case

https://github.com/caicongyang/spark-study