RDD缓存有哪些特点?

news2024/11/25 8:23:37

RDD之间进行相互迭代计算(Transformation的转换),当执行开启后,新RDD的生成,代表老RDD的消失。RDD的数据是过程数据,只在处理的过程中存在,一旦处理完成,就不见了。这个特性可以最大化的利用资源,老旧RDD没用了就从内存中清理,给后续的计算腾出内存空间。

例如上图,rd3被2次使用,第一次使用之后,其实RDD3就不存在了.第二次用的时候,只能基于RDD的血缘关系,从RDD1重新执行,构建出来RDD3,供RDD5使用。

RDD数据

上述的场景,肯定要执行优化,优化就是:RDD3如果不消失,那么RDD1→RDD2→RDD3这个链条就不会执行2次,或者更多次RDD的缓存技术:Spark提供了缓存API,可以让我们通过调用APl,将指定的RDD数据保留在内存或者硬盘上缓存的API。

#RDD3被2次使用,可以加入缓存进行优化
rdd3.cache()#缓存到内存中.
rdd3.persist(StorageLevel.MEMORY_ONLY)      #仅内存缓存
rdd3.persist(StorageLevel.MEMORY_ONLY_2)    #仅内存缓存,2个副本
rdd3.persist(StorageLevel.DISK_ONLY)        #仅缓存硬盘上
rdd3.persist(StorageLeveL.DISK_ONLY_2)      #仅缓存硬盘上,2个副本
rdd3.Dtrsist (StorageLevet.DISK_ONLY_3)     #仅缓存硬盘上,3个副本
rdd3.per sist(StorageLeveL.MEMORY_AND_DISK) #先放内存,不够放硬盘
rdd3.persist(StorageLeve1.MEMORY_AND_DISK_2)#先放内存,不够放硬盘,2个副本
rdd3.persist(StorageLevel.OFF_HEAP)         #堆外内存(系统内存)
#如上API,自行选择使用即可
#一般建议使用rdd3.persist(StorageLevel.MEMORY_AND_DISK)
#如果内存比较小的集群,建议使用rdd3.persist(StorageLevel.DISK_ONLY)或者就别用缓存了用CheckPoint

#主动清理缓存的API
rdd.unpersist()

RDD缓存特点

缓存技术可以将过程RDD数据,持久化保存到内存或者硬盘上。

但是,这个保存在设定上是认为不安全的,缓存的数据在设计上是认为有丢失风险的。所以,缓存有一个特点就是:其保留RDD之间的血缘(依赖)关系,一旦缓存丢失,可以基于血缘关系的记录,重新计算这个RDD的数据。

缓存如何丢失:在内存中的缓存是不安全的,比如断电\计算任务内存不足,把缓存清理给计算让路,硬盘中因为硬盘损坏也是可能丢失的。

RDD缓存的保存过程

RDD缓存保存过程

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

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

相关文章

【CSAPP】Binarybomb 实验(phase_1-6+secret_phase)

Binarybomb 实验(phase_1-6secret_phase) 实验内容 一个“binary bombs”(二进制炸弹,下文将简称为炸弹)是一个Linux可执行C程序,包含了7个阶段(phase1~phase6和一个隐藏阶段)。炸…

【CANoe示例分析】0002_SOMEIPDemo

该工程由Vector官方提供,作为仿真SOME/IP节点的示例。Demo中介绍了两种仿真SOME/IP节点的方法,一种是基于arxml数据库的仿真,另一种是没有数据库(arxml、fibex)的仿真。 无论是哪种形式的仿真,如果想要通过CAPL程序接收或者发送SOME/IP信息,都需要添加交互 层的信息,这…

不懂就问:年薪百万的程序员是怎么做到的?

很多人对程序员的第一反应就是“工资高”。 从行业平均薪酬来看,“程序员”相关专业的收入确实更高一点。 但是,“程序员”内部薪资却存在着很大的差异,多数人月薪在1-2万,一线城市可以达到3-5万,而顶级程序员&#…

探索Java面向对象编程的奇妙世界(六)

⭐ 多态(polymorphism)⭐ 对象的转型(casting)⭐ 抽象类⭐ 接口 interface ⭐ 多态(polymorphism) 多态指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。 比如:同样是调用人“吃…

回归方程的显著性检验——F检验

回归方程的显著性检验——F检验 9.2 回归方程的显著性检验 (edu-edu.com.cn) 概念 记号: y i y_i yi​:真实值,观测值 y ˉ \bar{y} yˉ​:真实值的平均值 y ^ \hat{y} y^​:估计值,预测值 几个差&#x…

Activiti、Flowable与CCFlow的选型对比

前言 工作流是什么,这个问题我们就不在此进行解释了,这里我们主要讲解一下Activiti、Flowable和CCFlow三款工作流的对比,为大家选型时做一些参考。 Activiti和Flowable大家可能多少都听说过,都是国外的工作流引擎,都…

Axure教程—单色面积图(中继器)

本文将教大家如何用AXURE制作单色面积图 一、效果介绍 如图: 预览地址:https://icg26y.axshare.com/ 下载地址:https://download.csdn.net/download/weixin_43516258/87837919?spm1001.2014.3001.5503 二、功能介绍 简单填写中继器内容即…

软件设计师总结-含括学习方法和学习过程,可参考

目录 考前备战宏观    心路历程-感受    学习阶段-计划的安排 微观一、课本和视频的学习    本阶段的目的:    侧重点    涉及的学习方法(最后有如何使用这些方法)    学习结果 二、32小时通关辅助前面的知识点    本阶段的…

提升企业管理效率的利器——ADManager Plus

在当今信息时代,企业的规模和复杂性不断增长,管理各个方面变得愈发具有挑战性。而在企业管理中,活跃目录(Active Directory)起着至关重要的作用。它是一种用于组织内部的用户、计算机、组和其他对象进行集中管理的目录…

javascript中的this与函数讲解

前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域。并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码,都存放在Window函数内&#x…

Hack The Box-Redeemer关卡

TASK 1 任务 1 Which TCP port is open on the machine? 计算机上打开了哪个 TCP 端口? 6379TASK 2 任务 2 Which service is running on the port that is open on the machine? 计算机上打开的端口上运行哪个服务? redisTASK 3 任务 3 What typ…

java学习——java学习进度一String类1(学习记录——供回溯)

String 分割字符串 split( ) String s "1,2,3,4"; //未使用split分割前 System.out.println(s.length());//使用split分割后 String[] ssplit s.split(","); System.out.println(ssplit.length);split( , ) //两个参数都有的时候,第一个为用…

视频编辑软件:迅捷视频工具箱

这是一款功能强大、易于使用的视频编辑工具,支持视频剪辑、视频转换、音频转换、视频压缩、视频水印、字幕贴图等实用功能,可以帮助你制作出高质量的视频作品。(传送门:https://www.xunjiepdf.com/xjspgjx) 功能简介 …

Linux:CentOS:进程查看和控制

查看 ps 查看静态的进程统计信息top查看动态的进程排名信息pgrep根据特定条件查询进程 PID 信息pstree以树形结构列出进程信息 S ---休眠 R ---运行 Z ---僵死&#xff08;应予以手动终止&#xff09; < ---高优先级 N ---低优先级 …

FrameLayout+LinearLayout实现首页底部菜单

1.布局样式 2.main.xml代码 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_par…

Socket(二)

文章目录 1. Socket地址2. 代理服务器3. 获取Socket的信息4. 关闭还是连接5. toString() 1. Socket地址 SocketAddress类表示一个连接端点&#xff0c;这个一个空的抽象类&#xff0c;除了一个默认构造函数外&#xff0c;没有其他方法。当前只支持TCP/IP Socket&#xff0c;实…

在云服务器上部署简单的聊天机器人网站(源1.0接口版)

诸神缄默不语-个人CSDN博文目录 又不是不能用.jpg http://47.113.197.198:8000/chat 集成代码可参考&#xff1a;花月与剑/scholar_ease 之所以先用源1.0&#xff0c;一是因为我API都申请了&#xff0c;不用白不用&#xff1b;二是因为源1.0可以直接用国内网络连接&#xf…

终极AI工具包【第一章 如何学习ChatGPT(基础知识)】

第1章&#xff1a;如何学习ChatGPT&#xff08;基础知识&#xff09; 1、什么是ChatGPT ChatGPT是OpenAI开发的一种人工智能&#xff08;AI&#xff09;语言模型。它是在一个称为GPT&#xff08;生成预训练变压器&#xff09;的架构下构建的&#xff0c;目的是理解和生成人类语…

商城配置-shorp

商城配置 说明 商城配置主要分为三块&#xff0c;基础配置&#xff0c;平台配置&#xff0c;支付配置,所有配置请都检查配置一下&#xff0c;文档中只对部分配置进行说明 基础配置 基础配置说明 基础配置包括&#xff0c;商城信息&#xff0c;会员配置&#xff0c;分享配置&am…

考研算法复试刷题19天:Prim算法求最小生成树 【prim,最小生成树】

最小生成树 参考博客&#xff1a;图解&#xff1a;什么是最小生成树&#xff1f; - 知乎 (zhihu.com) 总结下来的过程就是&#xff0c;一张图&#xff0c;我们将他化为树的形式&#xff0c;也就是生成树。那么最小生成树有是啥呢&#xff1f;所谓一个 带权图 的最小生成树&a…