0%

spark组件说明

spark组件说明

下图是spark执行时的基本结构

spark架构

Driver驱动器

Driver驱动器节点用来调节各个工作节点,执行程序的main方法的进程,当启动一个spark shell的时候就是启动了一个spark驱动程序

主要职责

  • 把用户程序转为作业任务(task)

    spark程序隐式的创建出了一个由操作组成的逻辑上的有向无环图(Directed Acyclic Graph,简称DAG),当驱动程序运行时,会把这个逻辑图转为物理执行计划,spark将逻辑计划转为一系列的步骤(stage),每个步骤由多个任务组成,任务是spark的最小工作单元

  • 为执行器节点调度任务

    执行器进程启动后,会向驱动器进程注册,驱动器进程对应用中所有执行器节点有完整的记录

Executor执行器

执行器节点负责在Spark中执行作业任务

主要职责

  • 负责运行spark中的作业任务,并将结果返回给驱动器进程
  • 通过自身的块管理器为用户程序中要求缓存的RDD提供内存式存储,RDD直接缓存在执行器进程内

Cluster Manager集群管理器

spark依赖于集群管理器来启动执行器节点,集群管理器是spark中一个可插拔的组件,除了spark自带的独立集群管理器,还可以运行在外部集群管理器上,如Yarn等

spark任务调度过程

spark调度分析