何时启用CheckPoint操作

1. 使用了有状态的transformation操作--比如updateStateByKey,或者reduceBykeyAndWindow操作,被使用了,那么checkpoint目录要求是必须提供的,也就是必须开启checkpoint机制,从而进行周期性的RDD checkpoint


2. 要保证可以从Driver失败中进行恢复--元数据checkpoint需要启用,来进行这种情况的恢复


要注意,并不是,所有的Spark Streaming应用程序,都要启动checkpoint机制,如果即不强制要求从Driver失败中自动进行恢复,又没有使用有状态的transformation操作,那么就不需要启用checkpoint。事实上,这么做反而是有助于提高性能的


将RDD checkpoint到可靠的存储系统上,会耗费很多性能,当rdd被checkpoint时,会导致这些batch的处理时间增加,因此,checkpoint的间隔,需要很好的设置,对于那些间隔很多的batch,比如1秒,如果还要执行checkpoint操作,则会大幅度削减吞吐量,而另外一个方面,如果checkpoint操作执行的太不频繁,那就会导致rdd的lineage变长,又会有失败恢复时间过长的风险。


对于那些哟啊球checkp的有状态的transformation操作,默认的checkpoint间隔通常是batch间隔的数倍,至少是10秒,使用DStream的checkpoint()方法,可以设置这个DStream的checkpoint的间隔时长,通常来说,将checkpoint间隔设置为窗口操作的滑动间隔的5-10倍是个不错的选择

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值