Spark中的持久化(缓冲)以及检查点机制

一、持久化

       跨操作在内存中持久化(或缓冲)数据。当持久化RDD时,将每个节点的计算的所有分区存储在内存中,为了是数据的重用。再次调用的时候不需要重新计算,速度更快。

       可以使用persist()和cache()两种方方将RDD标记为持久化。第一次动作中计算时,它将保存在节点的内存中。Spark的缓冲是容错的,当RDD分区丢失的时候,可以使用最初创建缓冲位置调用重新计算。

       cache是调用了persist的无参缓冲方法。默认使用的缓冲在内存中,如果想要使用指定的持久化策略,可以使用persist(StoreageLevle的对象)来实现

二、RDD检查点

       1.通过将数据写入到HDFS中做检查点,是多副本可靠存储,可以减少数据开销,提高容错性

       2.当DAG的lineage过长,如果重算,则开销太大,此时可以用检查点,或者在宽依赖上面可以Checkpoint,减少了shuffle,收益更大。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值