概念
原始的RDD经过一系列的转换就就形成了DAG
Stage(调度阶段)
根据RDD的宽窄依赖又把DAG划分为不同的Stage,宽依赖是划分Stage的依据,根据宽依赖进行切分,切分之后的每个窄依赖就是一个stage(调度阶段:阶段一,阶段二,阶段三)
DAG优化
先按宽依赖进行切分,然后再把每个窄依赖封装成Task(Task跟partition有关,一个partition里面有一个task)运行在executor中;
正因为有转换算子和action算子才得以让把每个窄依赖封装成一个task更方便,要是只有action算子,那么每次执行完action算子之后都会形成一个job就无法把窄依赖封装成一个task了。