Spark中stage的划分
如下为Spark中划分stage的源码:
- DAGScheduler将Job分解成具有前后依赖关系的多个stage
- DAGScheduler是根据ShuffleDependency划分stage的
- stage分为ShuffleMapStage和ResultStage;一个Job中包含一个ResultStage及多个ShuffleMapStage
- 一个stage包含多个tasks,task的个数即该stage的finalRDD的partition数
- 一个stage中的task完全相同,ShuffleMapStage包含的都是ShuffleMapTask;ResultStage包含的都是ResultTask