PySpark基础入门(3):RDD持久化

news2024/11/16 19:49:48

RDD的持久化

RDD 的数据是过程数据,因此需要持久化存储;

RDD之间进行相互迭代的计算,新的RDD的生成代表着旧的RDD的消失;这样的特性可以最大化地利用资源,老旧地RDD可以及时地从内存中清理,从而给后续地计算腾出空间;

如下图所示:

rdd3地第一次使用是在构建rdd4的时候,构建完rdd4之后rdd3就不存在了;而第二次使用rdd3的时候,由于其已经不存在,需要根据RDD的血缘关系,从rdd重新执行,构建出来rdd3,供rdd5使用;

RDD的缓存

可以通过缓存技术,将RDD存储在内存中或者磁盘上,这样就不用重复构建rdd了;

常用的缓存API如下:

一般使用rdd.persist(StorageLevel.MEMORY_AND_DISK),优先缓存在磁盘上;

如果是内存比较小的集群,可以只缓存到磁盘上;

手动清理缓存的API:rdd.unpersist()

缓存的特点:缓存被认为是不安全的,因此保留RDD之间的血缘关系

因为缓存的数据有丢失的风险,内存中的缓存可能由于断电/空间不足被清理;磁盘上的缓存可能由于磁盘损坏丢失等等,所以需要保留血缘关系,从而避免数据丢失;

RDD的缓存是如何保存的?

采取分散存储:RDD的每个分区自行将其数据保存在其所在的Executor内存和磁盘上

RDD的CheckPoint

CheckPoint也是保存RDD的一种机制,但只支持磁盘存储;

与缓存相比,CheckPoint被认为是安全的,也不会保存RDD之间的血缘关系;

CheckPoint的存储:

集中收集存储:CheckPoint集中收集各个分区的数据存储在HDFS上;

API:

# 设置存储路径,如果是local模式,可以选用本地文件系统
# 如果是集群模式,一定要设置hdfs路径
sc.setCheckpointDir(path)
# 存储
rdd.checkpoint()
# 清除
rdd.unpersist()

缓存和CheckPoint的对比

Cache 和 CheckPoint的性能对比:

Cache性能更好, 因为是分散存储, 各个Executor并行执行, 效率高, 可以保存到内存中(占内存),更快

CheckPoint比较慢, 因为是集中存储, 涉及到网络IO, 但是存储到HDFS上更加安全(多副本)

注意:Cache 和 CheckPoint两个API都不是action类型的,如果要想正常工作,后面必须有action类型的算子;

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

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

相关文章

电脑发挥极致,畅游永恒之塔sf

随着22寸显示器的普及,玩永恒之塔势必会对显示卡造成了很大负担。不要说效果全开,就连简洁的玩,都成了问题,那是不是就要重金把才买的显示卡又要拿掉呢? 最出众的解决办法,是超频。 主要就具有以下条件最佳…

Azure DevOps Server 数据还原方式三:增量还原

Contents 1. 概述2. 操作方式 2.1 创建共享文件夹,并将备份文件复制到共享文件夹中2.2 还原数据3 验证还原的数据库 3.1 方式一:核对工作项所在的表的数据3.2 方式二:将数据库配置到应用层,在应用中验证数据4. 常见问题&#xff1…

FAST协议解析1 通过输入输出逆解析

一、前言 FAST协议可以支持金融机构间高吞吐量、低延迟的数据通讯,目前我知道的应用领域是沪深交易所的Level-2行情传输。网络上无论是FAST协议本身,还是使用相关工具(openfast、quickfast)对FAST行情进行解析,相关的…

MC9S12G128开发板—解决小车九宫格方位移动功能实现遇到的一些问题

接着我的上一篇文章:MC9S12G128开发板—实现按键发送CAN报文指示小车移动功能。本篇文章主要记录下在实现小车九宫格方位移动功能过程中,遇到的一些程序问题以及解决措施。 1. 上位机小车响应开发板按键CAN报文指令的响应出错问题 问题现象描述&#x…

自动驾驶行业观察之2023上海车展-----车企发展趋势(1)

新势力发展趋势 小鹏汽车:发布新车G6(中型SUV),将于2023年年中上市 发布新车G6:车展上,小鹏G6正式首发亮相,定位中型SUV,对标Tesla Model Y,将于2023年年中上市并开始交…

基于web的商场商城后台管理系统

该系统用户分为两类:普通员工和管理员。普通员工是指当前系统中的需要对商品和客户的信息进行查询的人。此类用户只能查看自己的信息,以及对商品和客户的信息进行查看。管理员用户可以对自己和他人的信息进行维护,包括对商品入库、销售、库存…

Redis缓存过期淘汰策略

文章目录 1、如何设置 Redis 最大运行内存?2、过期删除策略3、内存淘汰策略 1、如何设置 Redis 最大运行内存? 在配置文件 redis.conf 中,可以通过参数 maxmemory 来设定最大运行内存,只有在 Redis 的运行内存达到了我们设置的最…

代码命名规范

日常编码中,代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图,也是一项必备的能力。那它们有什么规律呢? Java项目的代码结构,能够体现它的设计理念。Java采用长命名的方式来规范类的命名,能够自己表达…

消息称苹果Type-C口充电未设MFi限制,iOS17将更新Find My服务

根据国外科技媒体 iMore 报道,基于消息源 analyst941 透露的信息,苹果公司目前并未开发 MFi 限制。 根据推文信息内容,两款 iPhone 15 机型的最高充电功率为 20W,而 iPhone 15 Pro 机型的最高支持 27W 充电。 此前古尔曼表示苹…

Python趋势外推预测模型实验完整版

趋势外推预测模型实验完整版 实验目的 通过趋势外推预测模型(佩尔预测模型),掌握预测模型的建立和应用方法,了解趋势外推预测模型(佩尔预测模型)的基本原理 实验内容 趋势外推预测模型 实验步骤和过程…

第4章-虚拟机栈(多使用到jclasslib工具查看字节码)

虚拟机栈 简介 虚拟机栈的出现背景 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的【如果设计成基于寄存器的,耦合度高,性能会有所提升,因为可以对具体的CPU架…

警惕免杀版Gh0st木马!

https://github.com/SecurityNo1/Gh0st2023 经过调查发现,这款开源的高度免杀版Gh0st木马目前正在大范围传播,据称可免杀多种主流杀软:开发者不仅制作了新颖的下载页面,还设法增加了搜索引擎的收录权重,吸引了许多免…

Python基础合集 练习17(类与对象)

class Dog: pass papiDog() print(papi) print(type(papi)) 构建方法 创建类过后可以定义一个特殊的方法。在python中构建方法是__init__(),init()必须包含一个self参数 class pig(): #def__init__(self) -> None: print(‘你好’) pipgpig() 属性和方法 cl…

JDBC详解(六):数据库事务(超详解)

JDBC详解(六):数据库事务(超详解) 前言一、数据库事务介绍二、JDBC事务处理三、事务的ACID属性1、数据库的并发问题2、四种隔离级别3、在MySql中设置隔离级别 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所…

MySQL基础——数据模型·数据库操作

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️树高千尺,落叶归根人生不易&…

开放原子训练营(第一季)铜锁探密:基于铜锁,在前端对登录密码进行加密,实现隐私数据保密性

本文将基于 铜锁(tongsuo)开源基础密码库实现前端对用户登录密码的加密,从而实现前端隐私数据的保密性。 首先,铜锁密码库是一个提供现代密码学算法和安全通信协议的开源基础密码库,在中国商用密码算法,例…

vcruntime140_1.dll无法继续执行代码怎么修复

vcruntime140_1.dll 是 Microsoft Visual C 程序集中的一个动态链接库文件。该文件提供了一些 C 运行时函数,这些函数是由许多应用程序使用的。当一个程序需要某个 DLL 文件时,它会首先在系统目录和程序所在目录中查找该 DLL 文件。如果系统或程序目录中…

《密码法》

第一章 总 则 第一条 为了规范密码应用和管理,促进密码事业发展,保障网络与信息安全,维护国家安全和社会公共利益,保护公民、法人和其他组织的合法权益,制定本法。 第二条 本法所称密码,是指采用特定变…

JavaSE基础(三)—— 程序流程控制、Random随机数

目录 一、顺序结构 二、分支结构 1. if 1.1 if分支有三种格式​编辑 2. switch 2.1 if、switch分支各自适合做什么业务场景 3. switch的穿透性 三、循环结构 1. for 循环​编辑 2. while 循环 2.1 什么时候用for循环,什么时候用while循环 3. do-while循…

探索抖音全域兴趣电商的特点与优势

抖音全域兴趣电商是抖音在电商领域的一项创新业务。它是一种全新的购物方式,通过抖音平台提供的社交化购物体验,将用户的兴趣、购物需求和商品展示相结合,为用户提供更为个性化、精准的购物体验。下面四川不若与众将对抖音全域兴趣电商进行一…