Flink CDC源头库数据更新之后,只捕捉到了c的op,正常应该是d然后c。
大佬知道这是什么原因么?源头数据库的删除数据之后,我是能捕捉到d的op的。
如果在 Flink CDC 中,源头库数据更新后只捕获到了 "c" (create/insert) 操作而没有 "d" (delete) 操作,这可能是由于以下原因之一:
配置问题:请确保在 Flink CDC 的配置中正确指定了要捕获的操作类型(如 INSERT、UPDATE、DELETE)。如果未正确配置或仅配置了插入操作,那么只会捕获到 "c" 操作。
事务隔离级别:检查源头数据库的事务隔离级别设置。如果事务隔离级别为 "读未提交"(Read Uncommitted),那么 CDC 可能会无法捕获到已删除的数据。
CDC 初始状态:CDC 进程启动时,可能会从源头数据库同步初始状态的数据。如果 CDC 启动时源头数据库中没有已删除的数据,那么就不会捕获到删除操作。
数据变更方式:如果数据的变更是通过直接对表进行 truncate 或者全量删除再插入的方式进行的,那么 CDC 可能无法准确捕获到删除操作。这种情况下,只会触发插入操作。
我印象中更新操作捕获到的op只有u的啊,会有个before和after,不会先d再c
,此回答整理自钉群“Flink CDC 社区”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。