当前位置: 首页 > news >正文

Spark RDD相关概念

Spark运行架构与核心组件
1.Spark运行梁构
spark运行架构包括master和slave两个主要部分。master负责管理整个集群的作业任务调度,而slave则负责实际执行任务。
dirver是Spark驱动器节点,负责执行Spark任务中的main方法,将用户程序转换成作业形式,并调度executor执行任务。
2.核心组件
Driver:负责将用户程序转换成作业形式,调度executor执行任务,跟踪执行情况,并通过UI展示运行情况。
Executor:在集群中的工作节点上运行,负麦执行Spark应用的任务,任务彼此之间相互独立并将结果返回给driver,它还管理RDD的内存或存储。
Master:负责资源调度和分配,进行集群监控等职责。
Worker:运行在集群服务器上,执行具体的计算任务。
Application Master:在YARN环境中使用,负麦申请资源容器,运行用户程序任务,监控任务状态。

3.核心概念

Executor 与 Core

Spark Executor 是集群中运行在工作节点(Worker)中的一个 JVM 进程,是整个集群中的专门用于计算的节点。在提交应用中,可以提供参数指定计算节点的个数,以及对应的资源。这里的资源一般指的是工作节点 Executor 的内存大小和使用的虚拟 CPU 核(Core)数量。

并行度(Parallelism)

在分布式计算框架中一般都是多个任务同时执行,由于任务分布在不同的计算节点进行计算,所以能够真正地实现多任务并行执行,记住,这里是并行,而不是并发。

RDD及其特性

1.RDD定义
RDD(弹性分布式数据集)是Spark中最基本的数据处理模型,是弹性的,不可变的、可分区,里面的元素可并行计算的集合。
2.RDD特性
弹性:存储上可以自动切换内存和磁盘,容错上可以目动恢复数据丢失,计算上有重试机制,分片上可以根据需要分片。
分布式:数据存储在大数据集群的不同节点上。
数据集:封装了计算逻辑,但不保存数据。
不可变:RDD封装了计算逻辑,不可改变,只能产生新的RDD来保存修改后的数据。
可分区井行计算:可以进行分区并行计算。
3.RDD核心属性
分区列表:用于执行任务时的并行计算,
分区计算函数:在每一个分区进行计算的函数
依赖关系:多个RDD之间的依赖关系。

RDD执行原理
1 资源申请与任务分发
Spark框架在执行时会先申请资源,将应用程序的数据处理逻辑分解成计算任务,分发到已分配资源的计算节点上进行计算。
2 任务执行流程启动YARN集群环境,Spark通过申请资源创建调度节点和计算节点,根据需求将计算逻辑划分成不同任务,调度节点将任务发送给对应的计算节点进行计算。
RDD序列化与依赖关系
1.应列化
RDD序列化包含闭包检查、房列化方法和性、房列化框架等,需要确保算子外的数据可以列化,否则无法传给
executor端执行。
2.依赖关系
血缘关系:记录RDD的转换行为,以便在分区数据丢失时重新计算恢复数据。
依赖关系:两个相邻RDD之间的关系。
窄依赖:每个上游RDD的分区最多被子RDD的一个分区便用。
宽依赖:每个上游RDD的分区可能被多个子RDD的分区使用。

RDD的阶段划分
DAG(有向无环图):由点和线组成的拓扑结构,代表RDD转换任务的过程。
阶段划分:
Application:初始化Spark Context,生成Application。
Job:由action算子生成Job。
stage:宽依赖的个数加一。
Task:每个Stage阶段里的分区个数。

RDD持久化
缓存与持久化:
缓存默认在虚拟机的堆内存中。

通过cache或persist方法缓存,需触发action算子后才实际缓存。

检查点(Checkpoint):

将RDD中间结果写入磁盘,减少容错成本。

需触发action操作后才执行。

RDD的文件读取与保存。

文件格式:包括tex、CSV、object文件等。

文件系统:本地文件系统、HDFS、HBase及数据库。

案例图片

相关文章:

  • 巧记英语四级单词 Unit2-下【晓艳老师版】
  • 【前端笔记】CSS预处理语言 LESS
  • Mujoco xml模型
  • AI 提示词不会写?试试 PromptIDE
  • Linux管道 有名管道(FIFO)工作机制全解:从理论到实践
  • java导出postgis空间数据几何对象shapefile文件
  • Spark大数据分析与实战笔记(第四章 Spark SQL结构化数据文件处理-04)
  • Qt中的鼠标事件
  • React七案例中
  • 函数指针数组的用途
  • 【现代深度学习技术】循环神经网络02:文本预处理
  • powerbi制作中国式复杂报表
  • Poission 时间点过程
  • 列表之链表_C
  • 三维空间中的离散曲线段匹配方法
  • 数据库学习
  • 程序化广告行业(73/89):买卖双方需求痛点及应对策略深度剖析
  • 通过可组合的数字体验平台(DXP)提升运营效率与个性化体验
  • echarts地图详解
  • spark课后总结
  • 南宁网站建设公司哪个好/常州谷歌推广
  • 北京市朝阳区网站制作/如何做电商新手入门
  • 一般在百度做网站多少钱/搜索引擎有哪些好用
  • 东莞集团网站建设/长春网站优化页面
  • 建站技术博客/平台推广方案
  • 企业网站打不开什么原因/企业网站优化报告