概念
Job
当在RDD上执行Action操作时就会提交一个Job。这个Job会将RDD分为多分,并将每份RDD提交到集群执行。
Stage
当一个Job提交后将分解为多个Stage。
Task
一个Stage可分解为多个Task。Task分为Shuffle map Task和Result Task。其中Shuffle map Task任务是将一个现有的RDD转化为一个新的RDD。Result Task在RDD上执行action操作,计算RDD结果并将结果返回驱动器。
scheduler
调度器分为两部分:
- DAG调度器:将一个作业分解一个包含多个阶段的DAG。
- 任务调度器:负责将每阶段的任务提交到集群
Spark执行流程
当提交一个作业后,Spark需要驱动器和执行器分别执行一些流程,驱动器执行流程:
执行器流程: