【Spark】RDD缓存机制

1. RDD缓存机制是什么?

把RDD的数据缓存起来,其他job可以从缓存中获取RDD数据而无需重复加工。

2. 如何对RDD进行缓存?

有两种方式,分别调用RDD的两个方法:persistcache
注意:调用这两个方法后并不会立刻缓存,而是有action算子触发时才会缓存。

3. persist 和 cache有什么区别?

二者的区别在于缓存级别上:
persist有多种缓存方式,如缓存到内存,缓存到磁盘等。
cache只缓存到内存,且实际是调用了persist方法。
两种方法的源码及缓存RDD的缓存级别如下:
在这里插入图片描述
在这里插入图片描述

4. 何时需要缓存RDD?

有两种情况:

  1. RDD被后续多个job用到;
  2. RDD的计算过程复杂。

5. 如何清除RDD缓存?

有两种方式:

  1. 应用程序结束后,缓存自动清除;
  2. 调用unpersist方法,源码如下:
    在这里插入图片描述

–The End–

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值