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

【Spark Core】(三)RDD的持久化

1 RDD的数据是过程数据

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

2 RDD缓存

  • RDD缓存:Spark提供了缓存API,可以通过调用API将指定的RDD数据保留在内存或硬盘上
  • 缓存在设计上认为是不安全的,会保存前置RDD的血缘关系
  • 缓存是分散存储的
# RDD3被两次使用,可以加入缓存进行优化
rdd.cache()																	# 缓存到内存中
rdd.persist(StorageLevel.MEMORY_ONLY)				# 仅内存缓存
rdd.persist(StorageLevel.MEMORY_ONLY_2)			# 仅内存缓存,2副本
rdd.persist(StorageLevel.DISK_ONLY)						# 仅磁盘缓存
rdd.persist(StorageLevel.DISK_ONLY_2)					# 仅磁盘缓存,2副本
rdd.persist(StorageLevel.MEMORY_AND_DISK)		# 先缓存到内存,不够缓存到硬盘
rdd.persist(StorageLevel.MEMORY_AND_DISK_2)	# 先缓存到内存,不够缓存到硬盘,2副本
rdd.persist(StorageLevel.OFF_HEAP)						# 堆外内存(系统内存)#  一般建议使用rdd3.persist(StorageLevel.MEMORY_AND_DISK)
# 内存较小的集群,建议使用rdd3.persist(StorageLevel.DISK_ONLY) 或使用CheckPoint# 主动清理缓存的API
rdd.unperisist()

3 RDD CheckPoint

  • CheckPoint仅支持硬盘缓存(HDFS)
  • CheckPoint设计上认为是安全的,不保留血缘关系
  • CheckPoint是集中收集各个分区数据进行存储的
# 设置CheckPoint第一件事:选择CP的保存路径
# 如果是local模式,可以支持本地文件系统,如果在集群运行,务必用HDFS
sc.setCheckpointDir("hdfs://node1:8020/output/aaa123ckp")
# 使用时直接调用checkpoint算子即可
rdd.checkpoint()

4 缓存 VS CheckPoint

  • CheckPoint不论分区数量多少,风险一致;缓存分区越多,风险越高
  • CheckPoint支持写入HDFS;缓存不支持。HDFS是高可靠存储,CheckPoint被认为是安全的
  • CheckPoint不支持内存;缓存支持。缓存如果写内存,性能比CheckPoint好
  • CheckPoint设计上认为是安全的,所以不保留血缘关系;缓存设计上认为是不安全的,所以保留血缘关系。
http://www.xdnf.cn/news/19415.html

相关文章:

  • nrf52840 解锁
  • Linux部署OSM本地服务测试环境
  • Ubuntu 25.10 Snapshot4 发布。
  • 电动两轮车手机导航投屏方案调研报告
  • 「日拱一码」076 深度学习——自然语言处理NLP
  • SOME/IP-SD中IPv4端点选项与IPv4 SD端点选项
  • Coze源码分析-工作空间-资源库-前端源码
  • 掌握正则表达式与文本处理:提升 Shell 编程效率的关键技巧
  • FFmpeg 不同编码的压缩命令详解
  • 【扩充位数三位变五位】2022-10-30
  • mysql导出csv中字段里有换行符的处理办法及hive导出处理办法
  • 【php反序列化字符串逃逸】
  • Go 面试题: new 和 make 是什么,差异在哪?
  • ADSL 代理 Proxy API 申请与使用指南
  • NLP技术突破:浅层与深层语义分析全解析
  • test隐藏能力
  • 5-ATSAM3X8-定时器
  • 架构选型:为何用对象存储替代HDFS构建现代数据湖
  • 腾讯混元翻译大模型Hunyuan-MT-7B:重塑跨语言沟通的技术革命
  • 定时器设计之->分级时间轮
  • 基于SpringBoot的二手交易平台【2026最新】
  • 2025我“生发”了『折行』|『内注』|『终端正偿』|『中文负偿』四大“邪术”(前二造福python代码阅读者;后二助力所有艺术人)
  • Kali自带的录屏工具:recordmydesktop
  • 基于单片机电动车充电桩/充电车棚环境监测设计
  • 如何将照片从电脑传输到安卓设备
  • vscode翻译插件
  • Kafka 架构原理
  • 【大模型】大模型微调-RLHF(强化学习)
  • Certificate is Signed Using a Weak Signature Algorithm漏洞解决
  • Uniapp 图片前端上传功能实现与详解