Spark2.0

目录

[10.3 Spark运行架构](#10.3 Spark运行架构)

[10.3.1 基本概念](#10.3.1 基本概念)

[10.3.2 架构设计](#10.3.2 架构设计)

​编辑

[10.3.3 Spark运行基本流程](#10.3.3 Spark运行基本流程)

Spark运行架构特点


10.3Spark运行架构

10.3.1 基本概念

RDD :是 Resillient Distributed Dataset (弹性分布式数据集)的简称,是分布式内存的一个抽象概念, 提供了一种高度受限的共享内存模型
DAG :是 Directed Acyclic Graph (有向无环图)的简称,反映 RDD 之间的依赖关系
Executor :是运行在工作节点( WorkerNode )的一个进程,负责运行 Task

Application :用户编写的 Spark 应用程序
Task :运行在 Executor 上的工作单元
Job :一个 Job 包含多个 RDD 及作用于相应 RDD 上的各种操作
Stage :是 Job 的基本调度单位,一个 Job 会分为多组 Task ,每组 Task 被称为 Stage ,或者也被称为 TaskSet ,代表了一组关联的、相互之间没有 Shuffle 依赖关系的任务组成的任务 集

10.3.2 架构设计

Spark 运行架构包括集群资源管理器( Cluster Manager )、运行作业任务的工作 节点 ( Worker Node )、每个应用的任务控制 节点 ( Driver )和每个工作节点上负责具体任务的执行进程( Executor ) 。其中,集群管理器 可以自带 或 使用 Mesos 、 YARN 等资源管理框架。

与Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:
Ø 一是利用多线程来执行具体的任务,减少任务的启动 开销。
Ø 二是 Executor 中有一个 BlockManager 存储模块,会将内存和磁盘共同作为存储设备,有效减少 IO 开销。
一个 Application 由一个 Driver 和若干个 Job 构成,一个 Job 由多个 Stage 构成,一个 Stage 由多个没有 Shuffle 关系的 Task 组成 。
当执行一个 Application 时, Driver 会向集群管理器申请资源,启动 Executor ,并向 Executor 发送应用程序代码和文件,然后在 Executor 上执行 Task ,运行结束后,执行结果会返回给 Driver , 或者写到 HDFS 或者其他数据库 中 。

10.3.3 Spark运行基本流程

(1)首先为应用构建起基本的运行环境,即由Driver创建一个SparkContext,进行资源的申请、任务的分配和监控

(2)资源管理器为Executor分配资源,并启动Executor进程

(3)SparkContext根据RDD的依赖关系构建DAG图,DAG图提交给DAGScheduler解析成Stage,然后把一个个TaskSet提交给底层调度器TaskScheduler处理;Executor向SparkContext申请Task,Task Scheduler将Task发放给Executor运行,并提供应用程序代码。

(4)Task在Executor上运行,把执行结果反馈给TaskScheduler,然后反馈给DAGScheduler,运行完毕后写入数据并释放所有资源

Spark运行架构特点

总体而言,Spark运行架构具有以下特点:

(1)每个Application都有自己专属的Executor进程,并且该进程在Application运行期间一直驻留。Executor进程以多线程的方式运行Task

(2)Spark运行过程与资源管理器无关,只要能够获取Executor进程并保持通信即可

(3)Task采用了数据本地性和推测执行等优化机制
数据本地 性,指的是尽量计算移动到数据所在的节点,即"计算向数据靠拢",因为移动计算比移动数据比所占的网络资源要少的多。
Spark 还采用了延时调度机制,可以在更大程度上实现执行过程优化。比如数据节点当前正被其他的任务占用,那么在这种情况下是否需要将数据移动到其他的空闲节点上?不一定。

相关推荐
2401_8576363915 分钟前
Scala中的尾递归优化:深入探索与实践
大数据·算法·scala
知识分享小能手18 分钟前
从新手到高手:Scala函数式编程完全指南,Scala 访问修饰符(6)
大数据·开发语言·后端·python·数据分析·scala·函数式编程
KompasAI30 分钟前
客户服务的智能升级:Kompas.ai如何改善客户体验
大数据·人工智能·aigc·语音识别·ai写作
乐财业-财税赋能平台44 分钟前
从手工到智能:乐财业鹦鹉系统引领财税管理新纪元
大数据·人工智能
东少子鹏1 小时前
Spark
大数据·分布式·spark
我非夏日1 小时前
基于Hadoop平台的电信客服数据的处理与分析④项目实现:任务16:数据采集/消费/存储
大数据·hadoop·大数据技术开发
在线OJ的阿川2 小时前
大数据基础知识【大数据导论】
大数据·经验分享·学习
方案3652 小时前
数据资产铸就市场竞争优势:运用先进的数据分析技术,精准把握市场脉搏,构建独特的竞争优势,助力企业实现市场领先地位,赢得持续成功
大数据·信息可视化·数据挖掘·数据分析·数据资产管理·数据资产·数据资产化
我非夏日3 小时前
基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建基于Hadoop的全分布式集群---任务10:Hive安装部署
大数据·hive·hadoop·分布式·大数据技术开发
Apache Flink4 小时前
探索 Apache Paimon 在阿里智能引擎的应用场景
大数据·flink·apache·paimon