Spark从入门到精通5 -- Spark运行架构及流程

【Spark】Spark 的运行环境、运行架构、提交流程   前几天大概了解了 Spark 是什么,没看过的可以点击下面的链接。今天开始正式学习 Spark。 1.Spark 运行环境 1.1 Local 模式 本地执行 Spark 代码的环境。用于调试、练习。 1.2 Standalone 模式 独立部署模式。Spark 自身提供计算资源。Spark 是计算框架,但自身资源调度不是它的强项。整体是 master-slave 架构。 1.3 Yarn 模式 使用 Yarn 作为资源调度框架,工作中使用最多。可以先点击下面的链接阅读之前的文章了解什么是 Yarn。 阅读详情

Spark运行架构及流程

Spark运行架构
架构图

在这里插入图片描述

基本概念
  • Application:用户编写的Spark应用程序,一个main方法。
  • Driver:程序中执行main方法的进程,创建SparkContext为Spark应用程序提供运行环境,负责与ClusterManager的通信,进行资源申请、任务的分配和监控等,当Executor部分运行完毕后,Driver同时负责将SparkContext关闭。
  • Executor:是运行在工作节点(WorkerNode)的一个进程,负责运行Task。
  • DAG:有向无环图,反映RDD之间的依赖关系。
  • Task:运行在Executor上的工作单元。
  • Job:一个Job包含多个RDD,一般一个action为一个job
  • Stage:是Job的基本调度单位,一个Job会分为多组Task,每组Task被称为Stage,或者也被称为TaskSet,代表一组关联的,相互之间没有Shuffle依赖关系的任务组成的任务集。
关系解释
  一个Application由一个Driver和若干个Job构成
  一个Action为一个Job
  一个Job由多个Stage构成
  一个Job由是否有宽依赖分为多个Stage
  一个Stage由多个没有Shuffle关系的Task组成
  一个Task根据RDD分区并行运行在多个分区上

Executor有两个优点:

  • 利用多线程来执行具体的任务减少任务的启动开销;

  • Executor中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备,有效减少IO开销;

Spark运行流程
流程图
Driver资源管理器Executor启动Application创建SparkContext申请资源(基于SparkConf)启动执行器节点汇报执行器节点状态(heart)构建DAG图基于DAG Schedule分解Stage基于Task Schedule提交任务执行任务(若有返回值返回结果)执行结束销毁SparkContextDriver资源管理器ExecutorSpark运行流程
1、用户通过spark-submit脚本提交应用
2、spark-submit脚本启动驱动器程序,调用用户定义的main方法
3、驱动器程序与集群管理器通信,申请资源启动执行器节点
4、集群管理器为驱动器程序启动执行器节点
5、驱动器进程执行用户应用中的操作,根据程序中定义的对RDD的转化操作和行动操作、驱动器节点把工作以任务形式发送到执行器节点。
6、任务在执行器程序中进行计算并保存结果
7、如果程序的main方法退出或者调用了SparkContext.stop(),驱动器程序会终止执行器进程,并且通过集群管理器释放资源。
实战Spark从入门到精通(四):揭秘Spark架构,这才是Spark速度快的真正秘密! 在前面几篇文章中,我们已经了解了Spark的基础知识、快速上手以及RDD的核心概念。今天,我们来深入Spark的架构,看看它到底是怎么组织的,为什么能那么快。如果你想真正用好Spark,了解它的架构绝对是必不可少的一步。就像开车,不需要你会造发动机,但至少得知道油门和刹车在哪吧?通过今天的学习,我们已经知道了Spark架构的五大组件和工作流程。理解Spark的架构,不仅能帮助我们写出更高效的Spark代码,还能在出现问题时更快地定位和解决。现在,你是不是对Spark的速度为什么那么快,有了更深入的理解。 阅读详情

相关推荐

Spark运行时架构

目录一,Spark运行时架构二,YARN集群架构(一)YARN集群主要组件1、ResourceManager - 资源管理器2、NodeManager - 节点管理器3、Task - 任务4、Container - 容器5、ApplicationMaster - 应用程序管理器6,总结(二)YARN集群中应用程序的执行流程三、Spark Standalone​​​​​​架构(一)client提交方式(二)cluster提交方式四、Spark on YARN架构(一)client提交方式(二)cluster提

m0_67806453的博客 1628

spark 2.2.0学习笔记1之概述

spark 2.2.0学习笔记1之概述参考 https://github.com/databricks/learning-spark Spark快速大数据分析.pdf 概念 基于内存—-快速/通用—-计算 Spark 是一个用来实现快速而通用的集群计算的平台 生态 2009年伯克利分校—-基于mapreduce—-使用scala编写 组件上层组件—-spark sql/spark streaming

undergrowth的专栏 429

Spark 的运行流程

目录 1.1、Spark的基本运行流程 1.2、运行流程图解 1.3、SparkContext初始化 1.4、Spark运行架构特点 1.5、DAScheduler 1.6、TaskScheduler 1.7、SchedulerBackend 1.8、Executor 1.1、Spark的基本运行流程 1、构建 DAG 使用算子操作 RDD 进行各种 transfor...

谦卑t 1394

Spark 架构及运行流程

1. Spark 架构 Spark 遵循主从架构,即集群中由一个主服务器和若干个从服务器组成。 Spark 架构基于两个抽象: RDD:弹性分布式数据集 DAG:有向无环图 1.1 Spark 运行架构 Spark 运行架构中包括: 集群资源管理器(Cluster Manager) Spark 驱动节点(Driver) 若干个工作节点(Worker Node) 1.2 Spark 组件 ???? Application: Spark Application 包含了一个 Driver 及多个 Exe

weixin_47243236的博客 5458

Spark源码阅读04-Spark运行架构之Standalone运行模式

毕竟工作也这么久了 ,除了途虎一轮,也七七八八面试了不少大厂,像阿里、饿了么、美团、滴滴这些面试过程就不一一写在这篇文章上了。我会整理一份详细的面试过程及大家想知道的一些问题细节。

2401_84009317的博客 627

Spark(3)架构原理、运行流程和RDD介绍

目录 一、Spark简介 1、内置模块介绍 2、Spark特点 二、Spark基本架构和运行流程 1、基本架构 2、运行流程 三、RDD概述 1、什么是RDD 2、RDD的属性 3、RDD的特点 4、RDD依赖关系 4.1 Lineage 4.2 窄依赖 4.3 宽依赖 4.4 DAG 4.5 任务划分(面试重点) 5、 RDD缓存 6、 RDD CheckPoint 一、Spark简介 1、内置模块介绍 S...

weixin_43230682的博客 2094

spark运行架构及核心组件介绍

组件功能适用场景Spark Core提供分布式计算的基础功能所有场景Spark SQL支持结构化数据的查询和操作数据仓库、ETL、BI支持实时数据处理日志分析、实时监控MLlib提供分布式机器学习算法大规模机器学习GraphX支持图数据处理社交网络分析、图计算。

认真学代码的shell 1842

AUTOSAR开发实战:NvM模块如何解决汽车电子中的EEPROM与Flash存储难题?

本文深入探讨了AUTOSAR中的NvM模块如何有效解决汽车电子系统中EEPROM与Flash存储的难题。通过分层架构设计,NvM模块实现了硬件抽象与统一管理,支持数据一致性检查、错误恢复等高级功能,显著提升了存储可靠性和耐久性。文章结合实战案例,详细解析了NvM的核心机制及工程优化方案,为汽车电子开发者提供宝贵参考。

e3f4g5的博客 566

Spark运行架构

Spark Core包含Spark最基础和最核心的功能,当提及Spark运行架构时,就是指Spark Core的运行架构。本节首先介绍Spark的基本概念和架构设计,然后介绍Spark运行基本流程,最后介RDD 的设计与运行原理。

Z_Data的博客 1718

【Android】汽车电源管理:深入解析CarPowerManager与Suspend To RAM的交互机制

本文深入解析了Android Automotive OS中CarPowerManager与Suspend To RAM(深度睡眠)的交互机制。详细阐述了从车辆发出睡眠请求,到CarPowerManagementService协调应用状态,最终通过内核进入低功耗睡眠的完整流程,并探讨了唤醒机制、开发者实践及功耗优化策略,为车机应用开发与系统优化提供关键指导。

weixin_28339967的博客 291

海上AI导航系统:技术架构与行业应用解析

计算机视觉与强化学习技术在海上导航系统中的应用正逐步改变传统航运业。通过多模态传感器融合技术,现代AI导航系统能够实现高精度的物体识别与实时路径规划,有效解决能见度依赖、决策延迟等核心痛点。以Orca AI的SeaPod系统为例,其结合了NVIDIA GeForce RTX 4070的边缘计算能力与多光谱协同识别技术,在恶劣环境下仍能保持稳定性能。这类系统不仅提升了航行安全性,还通过优化航线显著降低燃油消耗,在东京湾、马六甲海峡等繁忙水域展现出巨大价值。随着毫米波雷达融合方案的测试推进,未来海上导航将突破极

weixin_33597080的博客 355

【spark】Spark 入门到精通

第一阶段 环境篇 Spark 修炼之道(进阶篇)——Spark 入门到精通:第一节 Spark 1.5.0 集群搭建【点击打开】 Spark 修炼之道(进阶篇)——Spark 入门到精通:第二节 Hadoop、Spark 生成圈简介【点击打开】 Spark 修炼之道(进阶篇)——Spark 入门到精通:第三节 Spark Intellij IDEA 开发环境搭建【点击打开】 第二阶段 原理篇...

sowhat 2万+

LaTeX参考文献格式apsrev4-1,增加文献标题

APS的LaTeX参考文献格式apsrev4-1是隐藏标题的,如果想要出现标题,需要更改apsrev4-1.bst文件内容 在apsrev4-1.bst文件靠后部分,定义不同类型文献格式的地方,将article类型的内容替换为, FUNCTION {article} { output.bibitem format.authors booktitle empty$ { "author" output.check }{ output } if$ author format.

loading1234567的博客 5032

Spark2:运行架构

一、运行架构 1.概念 • Application: 用户基于spark的代码,由一个Driver和多个Executor组成。 • Executor: 在工作节点(如standalone的Worker和yarn的NM)上的进程,可以运行task,也可以将数据保存在内存和磁盘中。每个应用程序都有自己的Executors。 • Task: 最小的工作单元,会被送往executor执行。它也是Stage 的子集,以并行度(分区数)来衡量,分区数是多少,则有多少个task,一个 task 对应一个RDD分区 ,如果

定期分享我的发现和想法,感谢你的陪伴和支持 5768

Cgroup对进程所占用的CPU与内存资源同时进行限制的测试

测试环境:Ubuntu。处理器数量:1CPU。内存大小:2048MB。 以下是测试程序mem_cpu_test.c的代码。 将mem_cpu_test.c编译为可以运行的程序mem_cpu_test。 运行程序,并用top命令查看mem_cpu_test所占用的系统资源情况,可以看到,mem_cpu_test使用了50%左右的内存资源,也就是1000MB左右,并占用了接近全部的CPU资源。 关闭以上的程序后,在Cgroup子系统memory和cpu下分别创建进程组test1和test2。 并设置tes

qq_44998067的博客 1154

2025.05.29【Network】多组学分析:网络互作图绘制

本文介绍了使用R语言进行网络图绘制的方法与技巧。重点讲解了三个核心R包的使用:igraph用于网络图数据准备与基础绘制,ggraph基于图形语法实现高级可视化,networkD3则为网络图添加交互功能。文章涵盖了从基本概念、包安装、创建网络图对象,到自定义样式布局、添加交互性等完整流程,并提供了度分布、聚类系数等网络分析指标的计算方法。通过清晰的代码示例,帮助读者掌握生物信息学数据可视化的关键技能,为复杂数据的直观展示和分析提供实用工具。

227

5.2 Spark运行架构及流程检测

1、以下层级关系正确的是?A A、Job->Stage->TaskB、Stage->Task->JobC、Task->Job->StageD、Job->Task->Stage 2、以下哪项可以反映RDD之间的依赖关系?B A、DriverB、DAGC、StageD、Cluster Manager 3、Stage的task数量由...

weixin_46561163的博客 2166

大模型自我认知微调的实战教程

本文主要介绍了大模型自我认知微调的实战教程,希望对学习大语言模型的同学们有所帮助。微调成功并保留原有能力的截图如下所示: 文章目录 1. 前言 2. 配置环境 2.1 安装虚拟环境 2.2 安装依赖库 3. 实战代码 3.1 配置数据集 3.2 lora微调

herosunly的博客 4万+

Spark从入门到精通

本文系统介绍了Spark基础架构与核心模块。Spark作为基于内存的分布式计算引擎,具备高效、可扩展的特点,其运行架构由Driver、Executor和ClusterManager协同完成任务调度与执行。通过RDD(弹性分布式数据集)实现数据并行处理,支持转换与动作算子,结合血缘依赖与容错机制保障可靠性。此外,文章详述了SparkSQL的结构化数据处理能力、SparkCore的累加器与广播变量机制,以及Spark在批处理、流处理和机器学习等场景的应用,全面展示了Spark生态圈的技术优势与实践方法。

幸运如你的博客 1879

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Spark 运行架构

Spark 框架的核心是一个计算引擎,整体来说,它采用了标准的 master-slave 结构。上图中的 Driver 表示 master ,负责管理整个集群中的作业任务调度;Executor 则是 slave,负责实际执行任务;

好记性不如烂笔头 1731

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Spark的架构与基本运行流程

Spark的架构与基本运行流程

syp_net的博客 1558

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Spark运行流程

原文链接:点击打开链接 问题导读 1.Spark运行包含哪些流程? 2.本文认为Spark运行架构有哪些特点? 3.DAGScheduler的作用是什么? 4. RDD在Spark架构中是如何运行的? 5.Spark on Standalone运行包含哪些过程? 1.Spark运行基本流程参见下面示意图 1.构建Spark Applic

ShanX_s的博客 9417

spark运行架构

Yarn Client模式:Driver在本地机器运行,与ResourceManager通讯申请启动ApplicationMaster,后续流程包括启动Executor、反向注册、执行main函数等,执行Action算子时触发Job并分发任务。具有存储、容错、计算、分片弹性,数据分布式存储,封装计算逻辑但不保存数据。3. 执行原理:在Yarn环境中,先启动集群,Spark申请资源创建调度和计算节点,将计算逻辑按分区划分为任务,调度节点根据计算节点状态发送任务执行,RDD负责封装逻辑并生成任务。

2402_84631040的博客 1143
上一篇: Spark从入门到精通4 -- RDD编程
下一篇: Spark从入门到精通6 -- Spark数据读取与保存
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值