2.Spark的工作与架构原理

概述

目标:

  • spark的工作原理
  • spark数据处理通用流程
  • rdd
    • 什么是rdd
    • rdd 的特点
  • spark架构
    • spark架构相关进程
    • spark架构原理

spark的工作原理

spark 的工作原理,如下图

  • 图中中间部分是spark集群,也可以是基于 yarn 的,图上可以理解为sparkstandalone 集群,集群中有 6 个节点
  • 左边是spark的客户端节点,这个节点主要的任务是向spark集群提交任务,
  • 左边的 hdfs 是提交的任务所需要的数据源,当spark读取hdfs中的数据后,会将数据转化为rddrdd是弹性分布式数据集,是一个逻辑概念,在此,可以先理解为一个数据集合就可,这个rdd是具有分区特性的,如节点1节点2节点3,这样可以轻易的提高数据的并发处理能力
  • 接下来就可以对这rdd数据进行处理了,图中使用了,flatMap 函数,计算之后的结果还是一个带有分区的rdd,就是在节点4节点5节点6
  • 当处理到最后一步的时候是需要将数据存起来的,实际工作中,针对离线计算的,大部分的结果数据都是存储在hdfs上的,也可以存储在其它的存储介质中。

针对上面几条,可以总结出,spark处理数据的基本构成,如下图

后面 spark 代码中基本都是这三板斧

rdd

rddspark 中一个很重要的概念

什么是rdd

在实际工作中,rdd 通常通过 hadoop 上的文件,即 hdfs 文件进行创建,也可以通过程序中的集合来创建,rddspark 提供的核心抽象,全称为 Resillient Distributed Dataset ,即弹性分布式数据集

rdd 的特点

  1. 弹性:rdd 数据默认情况下是存储在内存中,但是在内存资源不足时,spark 也会自动将 rdd 数据写入磁盘
  2. 分布式: rdd 在抽象上来说是一种元素集合,它是被分区的,每个分区分布在集群中的不同节点上,从而让 rdd 中的数据可以被并行操作
  3. 容错性: rdd 最重要的特性就是提供了容错性,可以自动从节点失败中恢复过来,如果某个节点上的 rdd 分区,因为节点故障了,导致数据丢了,那么 rdd 会自动通过自己的数据来源重新计算该分区的数据

spark架构

下面熟悉一下 spark 架构相关的进程信息
注意: 在此是以 sparkstandalone 集群为例进行分析,其实在 spark standalone环境安装 中,成功后有查询对应的 进程 是否成功启动了

spark架构相关进程

  1. driver:编写的 spark 程序就在driver(进程)上,由 driver 进程负责执行,driver 进程所在的节点可以是spark 集群的某一个节点,或者就是提交任务的客户端节点,具体driver进程在哪个节点上启动,是由提交任务时指定的参数决定的
  2. master:集群的主节点中启动的进程,主要负责集群资源管理和分配,还有集群的监控等。
  3. worker:集群的从节点中启动的进程,主要负责启动其它进程来执行具体的数据处理和计算任务
  4. executor:此进程由worker 负责启动,主要为了执行数据处理和计算
  5. taks:是一个线程,由executor 负责启动,是真正干活的

spark架构原理

如下图来看一spark的架构原理

  1. spark的客户端机器上通过driver进程执行的spark代码,通过spark-submit脚本提交spark任务的时候driver进程就启动了。
  2. driver 启动之后,会做一些初始化操作,并找到集群的master 进程,对spark 程序进行注册
  3. master 收到 spark 程序注册成功之后,会向 worker 节点发送请求,进行资源调试和分配
  4. worker 收到 master 请求后,为任务启动 executor 进程,启动多少个,会根据配置来启动
  5. executor 启动之后会向 driver 进行注册,这样 driver 就能知道哪些 executor 在为它服务了
  6. driver 会根据对 rdd 定义的操作,提交一堆的 task(map,flatMap等) 去 executor 上执行

结束

spark 的工作与架构原理就介绍至此,如有问题,欢迎评论区留言。

相关推荐
AI极客菌17 小时前
AI绘画工具中,为什么专业玩家爱用Stable Diffusion,普通玩家却喜欢Midjourney?
大数据·人工智能·ai·ai作画·stable diffusion·aigc·midjourney
腾视科技AI17 小时前
腾视科技大模型一体机解决方案:低成本私有化落地,重塑行业智能应用新格局
大数据·人工智能·科技·ai·边缘计算·算力·ai算力
金融支付架构实战指南18 小时前
支付系统 ES 实战案例:从索引创建到真实业务查询
大数据·elasticsearch·搜索引擎·支付
百胜软件@百胜软件20 小时前
从“数据孤岛”到“智利标杆”:百胜E3全渠道中台助力“名创优品”Newtree实现一体化智变
大数据·人工智能·零售数字化·数智中台·珠宝行业
lizhihai_9920 小时前
股市学习心得-A股服务器/算力服务器龙头
大数据·运维·服务器·人工智能·科技·学习
AllData公司负责人21 小时前
大模型赋能AllData数据中台,系列升级|通过联合智谱大模型与BiSheng开源项目,建设企业大模型应用开发平台,支持知识库向量检索!
大数据·数据结构·数据库·算法·大模型·向量数据库·智谱ai
Antom全球收单21 小时前
面对多市场、多币种、多支付方式,Antom如何帮助企业搭建全球支付平台
大数据
数智化管理手记21 小时前
标准作业越推越虚?重塑认知、规避误区,破解精益落地形式主义
大数据·网络·精益工程
一只鹿鹿鹿21 小时前
网络安全评估方案
java·大数据·运维·物联网·web安全
人工智能培训1 天前
打造行业知识图谱三步走
大数据·人工智能·机器学习·3d·知识图谱·agent