千家信息网

最新-Spark基本工作原理

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、首先介绍Spark的基本概念1、Cluster Manager:Spark集群的资源管理中心1>Standalone模式:Cluster Manager为Spark原生的资源管理器,由Master
千家信息网最后更新 2026年11月01日最新-Spark基本工作原理

一、首先介绍Spark的基本概念

1、Cluster Manager:Spark集群的资源管理中心

1>Standalone模式:Cluster Manager为Spark原生的资源管理器,由Master节点负责资源的分配;

2>Haddop Yarn模式:Cluster Manager由Yarn中的ResearchManager负责资源的分配

3>Messos模式:Cluster Manager由Messos中的Messos Master负责资源管理。

2、Worker Node:Spark集群中可以运行Application代码的工作节点。

3、Executor:是运行在工作节点(Worker Node)上的一个进程,负责执行具体的任务(Task),并且负责将数据存在内存或者磁盘上。

4、Application:Spark Application,是用户构建在 Spark 上的程序

如图:

1>包含了Driver,和一批应用独立的Executor进程

2>每一个Application包含多个作业Job,每个Job包含多个Stage阶段,每个stage包含多个Task。

3>Job:作业,一个Job包含多个RDD及作用于相应RDD上的各种操作。

4>Stage:阶段,是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为"阶段"。

5>TaskScheduler:任务调度器

6>Task:任务,运行在Executor上的工作单元,是Executor中的一个线程。

5、Driver Program:驱动程序
1>运行应用Application的 main() 方法并且创建了 SparkContext;

2>Driver 分为 main() 方法和 SparkContext两部分。

6、DAG:是Directed Acyclic Graph(有向无环图)
1>用于反映RDD之间的依赖关系。

2>工作内容如图:

7、DAGScheduler:有向无环图调度器

1>基于DAG划分Stage,并以TaskSet的形势提交Stage给TaskScheduler;

2>负责将作业拆分成不同阶段的具有依赖关系的多批任务;

3>计算作业和任务的依赖关系,制定调度逻辑。

4>在SparkContext初始化的过程中被实例化,一个SparkContext对应创建一个DAGScheduler

5>工作内容如图:

二、Spark服务是如何执行任务的?

官方流程如图:

下面,我们对每一步做详细说明:

1、客户端提交作业:spark-submit

2、创建应用,运行Application应用程序的main函数,创建SparkContext对象(准备Spark应用程序的运行环境),并负责与Cluster Manager进行交互。

3、通过SparkContext向Cluster manager(Master)注册,并申请需要运行的Executor资源。

4、Cluster manager按资源分配策略进行分配。

5、Cluster manager向分配好的Worker Node发送,启动Executor进程指令。

6、Worker Node接收到指令后,启动Executor进程。

7、Executor进程发送心跳给Cluster manager。

8、Driver程序的SparkContext,构建成DAG图。

9、SparkContext进一步,将DAG图分解成Stage阶段(即任务集TaskSet)。

10、SparkContext进一步,将Stage阶段(TaskSet)发送给任务调度器(TaskScheduler)。

11、Executor向TaskScheduler申请任务(Task)。

12、TaskScheduler将Task任务发放给Executor运行,SparkContext同时将Application应用代码发放给Executor。

13、Executor运行应用代码,Driver进行执行任务监控。

14、Execurot运行任务完毕后,向Driver发送任务完成信号。

15、Driver负责将SparkContext关闭,并向Cluster manager发送注销信号。

15、Cluster manager收到Driver的注销信号后,向Worker Node发送释放资源信号。

16、Worker Node对应的Executor程序停止运行,资源释放。

任务 运行 资源 作业 应用 程序 阶段 工作 进程 分配 调度 信号 多个 如图 代码 模式 节点 资源管理 管理 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 新华互联网科技 互联网巨头科技公司 互联网科技未来 期待互联网科技 唐信互联网科技 大连 国外互联网科技网站 山东吉时兔互联网科技有限公司 宁波青枫互联网科技有限公司 以后互联网后是啥科技 互联网校园科技培训 上海宁丞科技互联网 花神(南京)互联网科技有限公司 互联网科技与大数据专业 速维有品互联网信息科技(苏州)有限公司 广西互联网科技孵化中心 银川新华互联网科技学校联系电话 朱啸虎曾投资哪些互联网科技企业 陕西彩京云互联网科技有限公司 互联网科技创新方面的资料 耶加雪菲 互联网金融科技 小米移动互联网科技园 盛创互联网科技有限公司 宁夏众和广鑫互联网科技有限公司 搜狐科技互联网 城市宝互联网科技有限公司 广西科技产业互联网是什么 互联网科技自媒体灵感 科技发展第三阶段互联网时代
0