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

【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.dtcms.com/a/362002.html

相关文章:

  • MT-Workflow: Odoo 可视化工作流引擎
  • 程序员与杀毒软件:一场不必要的“战争”?程序员用什么杀毒软件?-优雅草卓伊凡
  • 人工智能语音交互开发(五)麦克风频率响应范围
  • PostgreSQL 索引大全
  • 奇偶破题:当反函数撞上奇函数
  • Nano Banana一战封神,我总结了10种官方不会告诉你的神级技巧。
  • 太浅显数学常识暴露太重大数学真相:同样是有首项的无穷数列,此列的项可多于彼列的项
  • 使用修改过的arj源码编译和测试
  • java中常见的几种排序算法
  • 算法练习——189.轮转数组
  • 二、SVN基础命令速查表
  • Python OpenCV图像处理与深度学习:Python OpenCV对象检测入门-Haar级联分类器与人脸检测
  • LeetCode刷题-top100( 除自身以外数组的乘积)
  • MATLAB 实现同步压缩小波变换
  • C++ 虚继承:破解菱形继承的“双亲困境”
  • 拆解期货交易所:清算交收体系!
  • 配置sscms时被sql server处处刁难
  • 从 Skip Take 到 Keyset:C# 分页原理与实践
  • 考研复习-计算机网络-第一章-计算机网络概述
  • Parasoft C/C++test解析:覆盖率与可追溯性的软件测试协同方案
  • 免费GIS服务器方案:OGC标准3DTiles服务发布与跨平台渲染实践
  • 安全等保复习笔记
  • flume接收处理器:构建高可用与高性能的数据链路
  • Python 人工智能深度学习系统学习(附视频教程)
  • PowerPoint和WPS演示如何在放映PPT时用鼠标划重点
  • C++ STL序列容器-------list
  • 无人设备遥控器之安全加密体系
  • 【收藏级】Windows AI 本地开发「完全体」环境搭建清单
  • 多校区学校押金原路退回系统之免安装使用教程——东方仙盟
  • 计算机三级嵌入式填空题——真题库(28)原题附答案速记