Spark框架(一) —— 缓存与checkpoint

本文探讨Spark中的核心概念RDD,介绍其短暂存在的特性及其可能导致的问题。为了解决这个问题,文章深入讲解了缓存和checkpoint两种持久化技术。缓存将RDD存储在内存或磁盘,保留血缘关系,而checkpoint则通过集中存储在HDFS上,消除血缘关系,提供安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天开始挖新坑,开始总结Spark, 同时变更一下标题样式, 使内容更加明显。j

Spark的核心在于RDD(弹性分布式数据集),但RDD具有一个特性:

只在处理过程中存在,一旦处理完释放。 

这个特性的目的在于:最大化利用资源,老旧的RDD没用了,就从内存中清理,给后续计算腾空间  

但是存在如下场景:后续的RDD‘需要基于之前某个被清理的RDD进行继承,但RDD早就被清理了

为了避免上述情况:使用持久化技术来解决

持久化技术分为两类

  • 缓存  : 将某个RDD放入内存或者磁盘中,以备后续使用   
rdd1.cache() 
rdd1.persist(StorageLevel, MEMORY_ONLY) 
rdd1.persist(StorageLevel, DISK_ONLY)
  • 由于采用分散存储的形式,不支持写入HDFS,所以缓存被认为是设计不安全的 
  • 缓存一定保留了 “ 被缓存RDD的’血缘‘关系 ”    

checkpoint

  • 也是一种持久化技术
  • 被设计认为是安全的,具体通过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值