美文网首页
Spark-内核概述

Spark-内核概述

作者: 布莱安托 | 来源:发表于2020-07-06 19:55 被阅读0次

    Spark核心组件

    Driver

    Spark Driver节点用于执行Spark应用中的main方法,负责代码的实际执行工作,它在运行Spark应用是主要负责:

    1. 将用户程序转化为作业(Job)
    2. 在Executor之间进行进行任务(Task)调度
    3. 跟踪Executor执行情况
    4. 通过UI展示运行情况

    Executor

    Spark Executor节点是一个Java进程,负责在Spark作业中运行具体任务,任务间相互独立。Spark应用启动时,Executor节点被同时启动,并且始终伴随着整个应用的生命周期而存在。如果有Executor节点发生故障,该节点的任务会调度到其他Executor节点继续执行。

    Executor有两个核心功能:

    1. 负责运行Spark应用的任务,并将结果返回Driver
    2. 通过自身的块管理器(Block Manager)为用户程序中需要缓存的RDD提供内存式存储。RDD是直接缓存在Executor进程内的,因此任务可以在运行时充分利用缓存数据加速运算。

    Spark运行流程

    image.png

    在任何部署模式下,任务提交后都会先启动Driver进程,然后向集群管理器注册应用,之后集群管理器根据应用配置分配Executor并启动,当Driver所需资源全部满足时,开始执行用户程序中的main函数,由于Spark任务为懒执行,所以当执行至action算子时,开始进行反向推算,根据款依赖进行stage的划分,每一个stage中所有task形成一个taskSet,根据本地化原则,taskSet被分发到指定的Executor去执行,在执行过程中,Executor会与Driver进行通信,报告人物运行情况。

    相关文章

      网友评论

          本文标题:Spark-内核概述

          本文链接:https://www.haomeiwen.com/subject/cmbgqktx.html