Spark(5):RDD概述
创始人
2024-05-30 16:11:13
0

目录

0. 相关文章链接

1. 什么是RDD

2. RDD核心属性

3. 执行原理


0. 相关文章链接

 Spark文章汇总 

1. 什么是RDD

        RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据处理模型。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。 

  • 弹性:
    • 存储的弹性:内存与磁盘的自动切换; 
    • 容错的弹性:数据丢失可以自动恢复; 
    • 计算的弹性:计算出错重试机制; 
    • 分片的弹性:可根据需要重新分片;
  • 分布式:数据存储在大数据集群不同节点上 
  • 数据集:RDD 封装了计算逻辑,并不保存数据 
  • 数据抽象:RDD 是一个抽象类,需要子类具体实现 
  • 不可变:RDD 封装了计算逻辑,是不可以改变的,想要改变,只能产生新的 RDD,在新的RDD 里面封装计算逻辑 
  • 可分区、并行计算 

2. RDD核心属性

  • 分区列表:RDD 数据结构中存在分区列表,用于执行任务时并行计算,是实现分布式计算的重要属性。
  • 分区计算函数:Spark 在计算时,是使用分区函数对每一个分区进行计算 
  • RDD 之间的依赖关系:RDD 是计算模型的封装,当需求中需要将多个计算模型进行组合时,就需要将多个 RDD 建立依赖关系
  • 分区器(可选):当数据为 KV 类型数据时,可以通过设定分区器自定义数据的分区 
  • 首选位置(可选):计算数据时,可以根据计算节点的状态选择不同的节点位置进行计算

3. 执行原理

        从计算的角度来讲,数据处理过程中需要计算资源(内存 & CPU)和计算模型(逻辑)。执行时,需要将计算资源和计算模型进行协调和整合。 

        Spark 框架在执行时,先申请资源,然后将应用程序的数据处理逻辑分解成一个一个的计算任务。然后将任务发到已经分配资源的计算节点上, 按照指定的计算模型进行数据计算。最后得到计算结果。 

RDD 是 Spark 框架中用于数据处理的核心模型,在 Yarn 环境中,RDD的工作原理如下所示:

1)    启动 Yarn 集群环境 

2)    Spark 通过申请资源创建调度节点和计算节点 

3)    Spark 框架根据需求将计算逻辑根据分区划分成不同的任务 

4)    调度节点将任务根据计算节点状态发送到对应的计算节点进行计算 

        从以上流程可以看出 RDD 在整个流程中主要用于将逻辑进行封装,并生成 Task 发送给 Executor 节点执行计算。


注:其他Spark相关系列文章链接由此进 ->  Spark文章汇总 


相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...