spark RDD的缓存和检查点不同使用场景和工作机制 -- (视频笔记)

1、缓存

persist =>storage level 

对运算中间数据持久化。

对数据缓存了,就会重用。

使用场景:步骤1=>步骤2=>【步骤3.1、步骤3.2】 就需要在步骤2进行缓存;每个分片都会进行缓存;有缓存就会有丢失,分片有可能丢失,会造成数据不完整,根据RDD的依赖机制,丢失的会从前边的步骤重新计算得来。

缓存场景

1、获取大量数据之后,例如:从日志文件获取了数据后,因为重新获取文件成本较高

2、经过了较长的链条计算后,重新在计算成本太高

3、单个步骤非常消耗资源:这样在这个资源后进行缓存

 

checkpoint

可以设置 checkpoint directory

4、checkpoint之前一般会进行缓存,checkpoint会改变RDD的依赖关系,RDD变成checkpoint RDD后,前边的所有RDD都会被移除,因为RDD的lazy,因此至少一次action之后才可以触发checkpoint。

5、引入checkpoint主要是为了避免缓存丢失造成的重新计算带来的资源消耗。

checkpoint是具体action之后,重新创建一个job来完成计算,checkpoint会产生一个新的job

6、checkpoint比缓存更可靠。

 

转载于:https://www.cnblogs.com/isenhome/p/5085666.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值