SparkStraming之Checkpoint

SparkStraming之Checkpoint

checkpoint介绍

一个流式应用必须7*24小时正常在线,而且能够容忍一些与逻辑处理无关的失败(比如:系统崩溃、JVM进程宕掉)

为了达到以上这些,SparkStreaming为程序设置足够的信息作为保存点,记录计算的状态、结果等,同时将信息保存在一个容错的存储系统如HDFS,以至于能从失败中恢复,这里有2种数据将会被自动设置检查点

  • 元数据的checkpoint
    • 将定义数据计算的信息(元数据)保存在容错系统如HDFS上,这被用作恢复Streaming应用的Driver进程所在节点的failure
    • 元数据包括
      • 1、配置信息:创建流应用的配置信息
      • 2、算子操作:在流中定义的一些算子操作
      • 3、批次信息(当前批次的jobs虽进入到调度队列,但是还没完成计算)
  • 数据checkpoint
    • 将生成的RDD保存在可靠的存储,这对于那些有状态的转换,比如将不同批次的数据进行combine操作是必要的,比如updataStateByKey(),这些算子转换中,生成的RDD会依赖之前的RDD的数据批次数据,这就会造成RDD的依赖链随着时间增长,为了避免这种恢复时间随着时间无限制的增长,SparkStreaming中带状态转换算子的RDD会周期性的通过checkpoint将数据保存在可靠的存储系统如HDFS,去切断任务链,减少恢复时间

=>>> 总的来说

1.从驱动程序故障中恢复时,主要需要metadata-checkpoint

2、而如果使用有状态transformation算子,即使是基本功能,必须设置Data-Checkpoint

可以在执行配置中配置checkpoint的时间间隔

ssc.checkpoint(checkpointDirectory) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值