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进程内的,因此任务可以在运行时充分利用缓存数据加速运算。
spark Drive 与Executor