flink cdc 采集mysql 一个作业,采集模式是全增量采集,之前只配置采集 1 张表,我现在想再加一个表,这个表是会增量采集,还是会先全量采再增量采?
在Flink CDC中,如果您的作业原本只配置了采集一张表,现在又想增加一张表,这张新增的表将会增量采集,而不会重新全量采集。
这是因为Flink CDC在采集过程中会产生一个全局的状态,它存储着当前已经采集过的最大时间戳。当您增加一张新的表时,它会在第一次启动时查找该表的历史数据,并将当前时间戳设置为此历史数据的最大时间戳之后,所以这张表只会从新的时间戳开始增量采集。这就意味着,如果之前就已经存在历史数据,则新的表会跳过这部分历史数据,仅采集此后发生的更新。
为了更好地控制增量采集的行为,您可以使用Flink CDC提供的初始化模式设置,比如latest-offset模式或earliest-offset模式等。具体的设置方式可以根据您实际的需求进行选择。
如果你配置了动态加表就是先全后增,如果你没配置动态加表,只能无状态启动,所有表会全增量重新同步,此回答整理自钉群“Flink CDC 社区”
Flink CDC在进行全增量采集时,对于新的表,默认会先进行一次全量采集,然后再进行增量采集。这是因为全增量采集需要知道表的初始状态,以便在后续的增量采集中能够正确处理新的事件。
如果你想避免全量采集,你可以考虑使用快照增量采集。快照增量采集只需要一次全量采集,然后在后续的采集过程中只需要处理新的事件。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。