Spark中stage的划分

如下为Spark中划分stage的源码:
Spark中stage的划分

  1. DAGScheduler将Job分解成具有前后依赖关系的多个stage
  2. DAGScheduler是根据ShuffleDependency划分stage的
  3. stage分为ShuffleMapStage和ResultStage;一个Job中包含一个ResultStage及多个ShuffleMapStage
  4. 一个stage包含多个tasks,task的个数即该stage的finalRDD的partition数
  5. 一个stage中的task完全相同,ShuffleMapStage包含的都是ShuffleMapTask;ResultStage包含的都是ResultTask