tongchenkeji 发表于:2023-7-2 16:53:590次点击 已关注取消关注 关注 私信 MySQL CDC 新增字段从最新状态启动,之前的这个字段的数据不会同步。这个问题哪个版本可以实现?[阿里云实时计算 Flink版] 暂停朗读为您朗读 MySQL CDC 新增字段从最新状态启动,之前的这个字段的数据不会同步。这个问题哪个版本可以实现? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 实时计算Flink版# MySQL1179# 云数据库 RDS MySQL 版1517# 关系型数据库2577
Star时光AM 2023-11-27 18:30:33 1 在 MySQL CDC 中,如果想要同步新增字段之前的数据,需要使用 Flink CDC 版本 2.0 或更高。 在较旧的版本中,Flink CDC 只能从表结构变更之后的最新状态启动,而无法同步新增字段之前的数据。这是因为 Flink CDC 是基于变更日志(CDC Events)来消费数据的,在表结构变更之前,变更日志中不包含新增字段的数据。 从 Flink CDC 2.0 开始,就支持了从变更日志中重建历史数据的功能。通过获取新增字段之前的数据快照,并回放两次变更日志(第一次使用旧的表结构,第二次使用新的表结构),就可以实现同步新增字段之前的数据。 因此,如果您希望解决新增字段之前数据不会同步的问题,建议升级到 Flink CDC 2.0 或更高版本。
算精通AM 2023-11-27 18:30:33 2 结构发生变更(新增字段),Flink CDC 只能从表结构变更之后的最新状态启动,而之前的数据不会被同步。这是由于 Flink CDC 是基于变更日志(CDC Events)来消费数据的,在表结构变更之前,变更日志中不包含新增后的字段。Flink CDC 能解决这个问题的版本是:1.11 版本(当前稳定版本)对新增字段只能从最新状态启动。2.0 版本(当前 incubating 版本)已经支持从变更日志中重建历史数据,能从表结构变更之前的状态启动,同步之前缺失的字段数据。所以,如果你的 Flink CDC 版本低于 2.0,目前只能从新增字段后的最新状态启动。如果要同步新增字段之前的数据,需要升级到 Flink CDC 2.0。Flink CDC 2.0 在处理新增字段时通过以下方式能重建历史数据:获取新增字段之前的数据快照(Snapshot)根据变更日志回放两次,第一次使用旧的表结构(无新增字段),第二次使用新表结构(包含新增字段)然后再继续基于变更日志进行实时同步以上方式能重建新增字段之前的数据,解决你提到的问题。希望以上信息能为你提供参
在 MySQL CDC 中,如果想要同步新增字段之前的数据,需要使用 Flink CDC 版本 2.0 或更高。
在较旧的版本中,Flink CDC 只能从表结构变更之后的最新状态启动,而无法同步新增字段之前的数据。这是因为 Flink CDC 是基于变更日志(CDC Events)来消费数据的,在表结构变更之前,变更日志中不包含新增字段的数据。
从 Flink CDC 2.0 开始,就支持了从变更日志中重建历史数据的功能。通过获取新增字段之前的数据快照,并回放两次变更日志(第一次使用旧的表结构,第二次使用新的表结构),就可以实现同步新增字段之前的数据。
因此,如果您希望解决新增字段之前数据不会同步的问题,建议升级到 Flink CDC 2.0 或更高版本。
结构发生变更(新增字段),Flink CDC 只能从表结构变更之后的最新状态启动,而之前的数据不会被同步。
这是由于 Flink CDC 是基于变更日志(CDC Events)来消费数据的,在表结构变更之前,变更日志中不包含新增后的字段。
Flink CDC 能解决这个问题的版本是:
1.11 版本(当前稳定版本)对新增字段只能从最新状态启动。
2.0 版本(当前 incubating 版本)已经支持从变更日志中重建历史数据,能从表结构变更之前的状态启动,同步之前缺失的字段数据。
所以,如果你的 Flink CDC 版本低于 2.0,目前只能从新增字段后的最新状态启动。
如果要同步新增字段之前的数据,需要升级到 Flink CDC 2.0。
Flink CDC 2.0 在处理新增字段时通过以下方式能重建历史数据:
获取新增字段之前的数据快照(Snapshot)
根据变更日志回放两次,第一次使用旧的表结构(无新增字段),第二次使用新表结构(包含新增字段)
然后再继续基于变更日志进行实时同步
以上方式能重建新增字段之前的数据,解决你提到的问题。
希望以上信息能为你提供参