spark学习(2)之检查点和缓存机制

检查点

检查点是spark的一种容错机制,它是在lineage过程中定时的把计算结果保存起来–》检查点目录
lineage (血统):spark执行周期
检查点目录分为:
本地目录:需要spark-shell启动到本地模式
hdfs目录:需要spark-shell启动到集群模式
因为我们只一般用到hdfs,所以我们下面示例只说到把检查点设置到hdfs中,
操作:
1、开启spark-shell

./bin/spark-shell --master spark://bigdata111:7077

2、设置检查点

sc.setCheckpointDir("hdfs://bigdata111:9000/spark/ckpt/0522")

3、我们从hdfs获取一个rdd

val rdd1=sc.textFile("hdfs://bigdata111:9000/input/data.txt")

4、我们希望在rdd1计算过程中各个阶段存储计算结果,我们需要给rdd1设置检查点

rdd1.checkpoint

5、然后我们给rdd1执行一个操作后,就报计算过程中的各阶段计算结果保存在了hdfs上

rdd1.count

6、然后我们就可以在检查点的目录中查看存储的结果了

缓存

我们可以把执行的结果放在缓存中,等下次执行同样的计算的时候就直接拿缓存中的结果

val rdd1=sc.textFile("/root/training/salse")
rdd1.count   //正常执行计算操作
rdd1.cache  //给rdd1设置缓存
rdd1.count  //在这次执行的时候并不会很快,可能花费的时间更长,除了计算还需要把计算结果反倒缓存中
rdd1.count  //等到这次执行的时候就很快了

我们使用cache和persisit设置缓存中,在内部cache也是调用的persist,默认设置缓存设置在缓存中,我们也给以给persist传一个参数StorageLevel来设置缓存的策略

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枣泥馅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值