直接保存待用吧^w
// 默认情况是不开启的
// 设置开启检查点,参数为时间间隔,单位为毫秒
env.enableCheckpointing(1000)
// 设定语义模式,默认情况是exactly_once
env.getCheckpointConfig.setCheckpointingMode(CheckpointingMode.EXACTLY_ONCE)
// 设定Checkpoint超时时间,默认为10分钟
env.getCheckpointConfig.setCheckpointTimeout(60000)
// 设定两个Checkpoint之间的最小时间间隔,防止出现例如状态数据过大而导致Checkpoint执行时间过长,从而导致Checkpoint积压过多,
// 最终Flink应用密切触发Checkpoint操作,会占用了大量计算资源而影响到整个应用的性能
env.getCheckpointConfig.setMinPauseBetweenCheckpoints(500)
// 默认情况下,只有一个检查点可以运行
// 根据用户指定的数量可以同时触发多个Checkpoint,进而提升Checkpoint整体的效率
env.getCheckpointConfig.setMaxConcurrentCheckpoints(1)
// 外部检查点
// 不会在任务正常停止的过程中清理掉检查点数据,而是会一直保存在外部系统介质中,另外也可以通过从外部检查点中对任务进行恢复
env.getCheckpointConfig.enableExternalizedCheckpoints(ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION)
// FailOnCheckpointingErrors决定了当Checkpoint执行过程中如果出现失败或者错误时,任务是否同时被关闭,默认值为false
env.getCheckpointConfig.setFailOnCheckpointingErrors(false)