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个数来决定