spark中checkpoint

          查了大部分资料,关于spark中的checkpoint有一些自己的想法。spark中的checkpoint操作设置检查节点,相对持久化操作presist而言,是切断RDD依赖的操作,但同时它将RDD操作的过程,以文件的形式存储在分布式系统中(一般是HDFS),其实我们把这完全理解为恢复RDD日志。当任务失败,spark自己可以根据checkpoint的日志信息,很快恢复数据。。。但是有人会提出sparkRDD有自己的依赖,在任务失败,,spark可以完全根据RDD的依赖完成恢复数据。。答案是yes,在spark中依赖中有宽依赖和窄依赖之分,,如果RDD的操作只是窄依赖。。。spark可以很快恢复数据,但是如果是宽依赖就要花费大量的时间,个人认为其实checkpoint就是更加详细了记录了恢复信息。。。将宽依赖恢复变成窄依赖恢复,,只是选择存储恢复RDD信息的方式不同。当然spark还提供了缓存,,感觉这就是spark的精妙之处。逻辑细节处理的很到位。

      怎么用checkpoint   ???

      在遇到行动操作,,进行checkpoint

      代码

     设置检查节点的存储位置在HDFS上,并设置检查节点

     val  ck = sc.makeRDD(1 to 10,2)

     sc.setCheckpointDir(hdfs://master:9000/spark/checkpoint)

     ck.checkpoint()

    //设置在遇到行动操作的时候进行检查操作

     ck.dependencies.head.rdd

     

 

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值