flink cdc更新mysql记录,before after可以合并为一条吗?现在是一条delet

flink cdc更新mysql记录,before after可以合并为一条吗?现在是一条delete,一条create

展开
收起
游客3oewgrzrf6o5c 2022-07-04 16:54:13 820 分享 版权
阿里云 AI 助理回答

目前Flink CDC在处理MySQL记录的UPDATE操作时,并不支持将UPDATE_BEFORE(即变更前的记录)和UPDATE_AFTER(即变更后的记录)合并为一条UPDATE消息。而是将这两个操作分别编码为DELETE和INSERT类型的Canal或Maxwell消息。这意味着,当一个更新操作发生时,Flink会生成两条消息:首先是一条表示删除旧记录的DELETE消息,随后是一条表示插入新记录的INSERT消息。

因此,如果您观察到Flink作业在处理MySQL更新时输出为一条DELETE紧接着一条CREATE(实际上是INSERT),这是符合当前Flink CDC实现方式的预期行为。如果您有特定需求希望直接以UPDATE消息形式合并处理,请留意Flink后续版本是否提供了相关功能更新,或者考虑在Flink作业的下游对这类拆分的消息进行自定义处理来合并这些变更。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理