![b83248c74d58b65e3bc909e34cdba7cb.png](https://i-blog.csdnimg.cn/blog_migrate/00e0dd7ec865db4c8202a22de01225df.jpeg)
概念
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需要驱动器和执行器分别执行一些流程,驱动器执行流程:
![56132c560cb70ef5abaae77f0c1ee00b.png](https://i-blog.csdnimg.cn/blog_migrate/18dd14daa1deb70800f35a75dca8eed7.jpeg)
执行器流程: