Spark-RDD编程之持久化操作

默认情况下,对于每一个经过一系列转换操作后得到的RDD,当在其上多次提交执行操作时,将RDD将会被重复计算。

scala>val rdd=rdd1.map(func1).map(func2).map(func3).collect

scala>rdd1.count

在执行第一条语句时,rdd已经通过rdd1和三个map操作创建完成;当执行第二条语句时,rdd会被重复创建,即再次执行三个map操作。为了避免重复计算生成,可以使用持久化操作。Spark的持久化操作支持在内存、磁盘上保存数据集或在集群间复制数据集,以便在后续查询同一RDD时能够快速访问。

Spark中的持久化操作有cache、persist、checkpoint。其中persist是将数据持久化到磁盘或内存;cache可视为persist的特例,仅将数据持久化到内存;checkpoint将数据持久化到磁盘上,与persist将数据持久化到硬盘上类似,但是checkpoint不再保存RDD间的依赖关系。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值