spark Drive 与Executor
Driver
开发人员自己写的程序中的main方法的进程
- 把我们编写的spark应用程序代码拆分为多个stage,每个stage执行一部分代码,并为每个stage创建一批tasks,然后把这些tasks分配到各个executor中执行.
- 跟踪Executor的运行状况
- 为执行器节点调度任务
- UI展示应用运行状况
Executor
工作进程,运行task
作用
executor进程宿主在worker节点上,一个worker可以有多个executor。每个executor持有一个线程池,每个线程可以执行一个task,executor执行完task以后将结果返回给driver,每个executor执行的task都属于同一个应用。此外executor还有一个功能就是为应用程序中要求缓存的 RDD 提供内存式存储,RDD 是直接缓存在executor进程内的,因此任务可以在运行时充分利用缓存数据加速运算。