Spark RDD相关概念

news2025/4/13 10:03:45

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及数据库。

案例图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2333741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SD + Contronet,扩散模型V1.5+约束条件后续优化:保存Canny边缘图,便于视觉理解——stable diffusion项目学习笔记

目录 前言 背景与需求 代码改进方案 运行过程: 1、Run​编辑 2、过程: 3、过程时间线: 4、最终效果展示: 总结与展望 前言 机器学习缺点之一:即不可解释性。最近,我在使用stable diffusion v1.5 Co…

【ROS2】行为树:BehaviorTree

1、简介 与状态机不同,行为树强调执行动作,而不是状态之间的转换。 行为树是可组合的。可以重复使用简单的行为来构建复杂的行为。 在游戏领域,行为树已经比较流行了。主要用于维护游戏角色的各种动作和状态。 ROS2的导航框架Navigation2中引入了行为树来组织机器人的工作流…

《JVM考古现场(十八):造化玉碟·用字节码重写因果律的九种方法》

"鸿蒙初判!当前因果链突破十一维屏障——全体码农修士注意,《JVM考古现场(十八)》即将渡劫飞升!" 目录 上卷阴阳交缠 第一章:混沌初开——JVM因果律的量子纠缠 第二章:诛仙剑阵改—…

使用nuxt3+tailwindcss4+@nuxt/content3在页面渲染 markdown 文档

nuxt3tailwindcss在页面渲染 markdown 文档 页面效果 依赖 “nuxt/content”: “^3.4.0” “tailwindcss”: “^4.0.10” “nuxt”: “^3.16.2” “tailwindcss/vite”: “^4.0.10” tailwindcss/typography (这个是格式化 md 样式用的) 注意: 这里nuxt/content…

Linux网络编程——详解网络层IP协议、网段划分、路由

目录 一、前言 二、IP协议的认识 1、什么是IP协议? 2、IP协议报头 三、网段划分 1、初步认识IP与路由 2、IP地址 I、DHCP动态主机配置协议 3、IP地址的划分 I、CIDR设计 II、子网数目的计算 III、子网掩码的确定 四、特殊的IP地址 五、IP地址的数量限…

【图像生成之21】融合了Transformer与Diffusion,Meta新作Transfusion实现图像与语言大一统

论文:Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model 地址:https://arxiv.org/abs/2408.11039 类型:理解与生成 Transfusion模型‌是一种将Transformer和Diffusion模型融合的多模态模型,旨…

Microsoft Office 如何启用和正常播放 Flash 控件

对于新安装的 Office 默认是不支持启用 Flash 组件的,Flash 组件会无法播放或者黑屏。 本片文章就带你解决这个问题,相关资料都在下方连接内。前提概要,教程对应的版本是 mso16,即 Office 2016 及更新版本,以及 365 等…

定位改了IP属地没变怎么回事?一文解析

明明用虚拟定位软件将手机位置改到了“三亚”,为何某某应用评论区显示的IP属地还是“北京”?为什么切换了代理IP,平台却似乎“无视”这一变化? 在“IP属地显示”功能普及后,许多用户尝试通过技术手段隐藏真实位置&…

《深入理解生命周期与作用域:以C语言为例》

🚀个人主页:BabyZZの秘密日记 📖收入专栏:C语言 🌍文章目入 一、生命周期:变量的存在时间(一)生命周期的定义(二)C语言中的生命周期类型(三&#…

一个插件,免费使用所有顶级大模型(Deepseek,Gpt,Grok,Gemini)

DeepSider是一款集成于浏览器侧边栏的AI对话工具,可免费使用所有顶级大模型 包括GPT-4o,Grok3,Claude 3.5 Sonnet,Claude 3.7,Gemini 2.0,Deepseek R1满血版等 以极简交互与超快的响应速度,完成AI搜索、实时问答、内容创作、翻译、…

智能车摄像头开源—9 动态权、模糊PID、速度决策、路径优化

目录 一、前言 二、动态权 1.概述 2.偏差值加动态权 三、模糊PID 四、速度决策 1.曲率计算 2.速度拟合 3.速度控制 五、路径 六、国赛视频 一、前言 在前中期通过识别直道、弯道等元素可进行加减速操作实现速度的控制,可进一步缩减一圈的运行速度&#xff…

《2025蓝桥杯C++B组:D:产值调整》

**作者的个人gitee**​​ 作者的算法讲解主页▶️ 每日一言:“泪眼问花花不语,乱红飞过秋千去🌸🌸” 题目 二.解题策略 本题比较简单,我的思路是写三个函数分别计算黄金白银铜一次新产值,通过k次循环即可获…

2025认证杯一阶段各题需要使用的模型或算法(冲刺阶段)

A题(小行星轨迹预测) 问题一:三角测量法、最小二乘法、空间几何算法、最优化方法 问题二:Gauss/Laplace轨道确定方法、差分校正法、数值积分算法(如Runge-Kutta法)、卡尔曼滤波器 B题(谣言在…

①(PROFINET 转 EtherNet/IP)EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

型号 协议转换通信网关 PROFINET 转 EtherNet/IP MS-GW32 概述 MS-GW32 是 PROFINET 和 EtherNet/IP 协议转换网关,为用户提供两种不同通讯协议的 PLC 进行数据交互的解决方案,可以轻松容易将 EtherNet/IP 网络接入 PROFINET 网络中,方便…

国标GB28181视频平台EasyCVR如何搭建汽车修理厂远程视频网络监控方案

一、背景分析 近年我国汽车保有量持续攀升,与之相伴的汽车保养维修需求也逐渐提高。随着社会经济的发展,消费者对汽车维修服务质量的要求越来越高,这使得汽车维修店的安全防范与人员管理问题面临着巨大挑战。 多数汽车维修店分布分散&#…

PostIn安装及入门教程

PostIn是一款国产开源免费的接口管理工具,包含项目管理、接口调试、接口文档设计、接口数据MOCK等模块,支持常见的HTTP协议、websocket协议等,支持免登陆本地接口调试,本文将介绍如何快速安装配置及入门使用教程。 1、安装 私有…

spring cloud微服务API网关详解及各种解决方案详解

微服务API网关详解 1. 核心概念 定义:API网关作为微服务的统一入口,负责请求路由、认证、限流、监控等功能,简化客户端与后端服务的交互。核心功能: 路由与转发:将请求分发到对应服务。协议转换:HTTP/HTTP…

最新版PhpStorm超详细图文安装教程,带补丁包(2025最新版保姆级教程)

目录 前言 一、PhpStorm最新版下载 二、PhpStorm安装 三、PhpStorm补丁 四、运行PhpStorm 前言 PhpStorm 是 JetBrains 公司推出的 专业 PHP 集成开发环境(IDE),专为提升 PHP 开发效率设计。其核心功能包括智能代码补全、实时语法错误检…

linux kernel arch 目录介绍

一:arch 目录 二:常用arch

ES6变量声明:let、var、const全面解析

一、引言 ECMAScript 6(简称 ES6)的发布为 JavaScript 带来了许多革命性的变化,其中变量声明方式的更新尤为重要。let、var和const成为开发者日常编码中频繁使用的关键字。 本文将深入解析这三种声明方式的核心特性、区别及最佳实践&#xff…