Flink CDC lookup join 为啥没有checkpoint?只要源头有算子finished了,checkpoint就不会发起了吗?官网找到没介绍,lookup join,不就是有静态表吗
Flink CDC lookup join 不支持 checkpoint 的原因很简单:CDC 流数据的更新是异步的,而 Flink 的 checkpoint 是基于状态的快照,只能捕获到某个时间点的状态。也就是说,当发生了 CDC 更新操作时,checkpoint 无法捕获到更新后的状态。如果强行使用 checkpoint,可能会导致 Flink 任务的状态不一致。
另外,CDC 流数据的更新是增量更新的,而 Flink 的 checkpoint 是全量快照。如果使用全量 checkpoint,会导致 checkpoint 的开销很大,甚至可能导致 Flink 任务失败。
所以,为了保证 Flink CDC lookup join 的正确性和性能,一般情况下不建议使用 checkpoint。如果确实需要使用 checkpoint,可以考虑使用 Flink 的幂等操作。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。