问一个问题,datastream写的cdc, 开启后,在批量过程中手动新增几条修改操作,批量完成后没有马上同步,而是在一个checkpoint之后开始同步的,cp设置的5分钟 有人遇到过这种情况么,还是我哪里设置的不对呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到您描述的情况,这可能是由于Flink CDC在处理全量数据与增量数据切换时的行为所致。具体分析和建议如下:
全量读到增量读的切换机制:当Flink CDC从全量数据读取切换到增量(CDC)数据读取时,为了确保数据的正确性,它会在最后一个全量读取的Checkpoint之后开始读取增量变更。这意味着即使在批量处理过程中有新的修改操作,这些变更也会被暂存直到下一个Checkpoint完成。根据您的设置,Checkpoint间隔为5分钟,因此在上一个Checkpoint完成后约5分钟后,您的改动才会开始同步。
配置检查:
scan.incremental.snapshot.enabled
配置是否为true
,这是允许从Checkpoint恢复读取增量数据的关键设置。解决方案与建议:
综上所述,您遇到的现象是由于Flink CDC设计中确保数据一致性的机制所导致,并非配置错误。通过上述建议调整,您可以优化这一过程,加快增量数据的同步速度。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。