Flink CDC中sql 模式下 允许忽略部分算子状态 这个功能默认开启,自己测试下,虽然功能默认开启,但是新增库、表第一次启动不会全量同步历史数据;需要单独启动一个任务全量同步之后,在老任务中加入待同步的库、表,然后从savepoint 启动?
Flink CDC 中 SQL 模式下允许忽略部分算子状态的功能并不是默认开启的,需要在 Flink SQL 的配置文件中显式进行配置。
在 Flink SQL 中,您可以使用 SET 命令来设置 Flink 的配置参数。要启用忽略部分算子状态的功能,需要将 table.exec.state.ttl.ms 参数设置为一个非负整数,表示算子状态的过期时间。例如,可以使用以下命令将算子状态的过期时间设置为 1 小时:
SET table.exec.state.ttl.ms = 3600000;
如果在 Flink SQL 中未设置 table.exec.state.ttl.ms 参数,则默认情况下,Flink 会保留所有算子状态,直到作业停止或手动删除状态。因此,如果未启用忽略部分算子状态的功能,可能会导致状态占用过多的内存,从而影响作业的性能和稳定性。
根据您提供的信息,首次启动新增的库和表时不会进行全量同步历史数据。您可以尝试单独启动一个任务来进行全量同步,然后将待同步的库和表添加到旧任务中,并从保存点 (savepoint) 启动该任务。
需要注意的是,忽略部分算子状态的功能是一种权衡,它可以在一定程度上减少算子状态的内存占用。但同时也需要考虑数据的一致性和处理逻辑。请根据具体需求来配置和使用此功能。
link CDC 中 SQL 模式下允许忽略部分算子状态的功能并不是默认开启的,需要在 Flink SQL 配置文件中显式地进行配置。
在 Flink SQL 中,可以使用 SET 命令对 Flink 的配置参数进行设置。如果要启用忽略部分算子状态的功能,需要将 table.exec.state.ttl.ms 参数设置为一个非负整数,表示算子状态的过期时间。例如,可以使用以下命令将算子状态的过期时间设置为 1 小时:
Copy
SET table.exec.state.ttl.ms = 3600000;
在 Flink SQL 中,如果未设置 table.exec.state.ttl.ms 参数,则默认情况下 Flink 会保留所有算子状态,直到作业停止或者手动删除状态。因此,如果未启用忽略部分算子状态的功能,可能会导致状态占用过多的内存,影响作业的性能和稳定性。
需要注意的是,忽略部分算子状态的功能是一种权衡,它可以在一定程度上减少算子
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。