flinkcdc从时间戳重启,是总binlog开头开始读取,然后过滤到对应时间点多数据吗?
发现时间戳重启读不到数据flinkcdc2.3.0 flink1.14.5。传入一个时间戳,读取从这时间戳开始的binlog在测试。
根据您提供的信息,您正在使用 Flink CDC 2.3.0 和 Flink 1.14.5 版本,并尝试通过指定一个时间戳来重启 Flink CDC 并从该时间戳开始读取 Binlog 数据。
根据 Flink CDC 的文档和代码片段中的描述,使用 timestamp 的启动模式可以指定一个时间戳作为启动偏移量,从该时间戳开始读取 Binlog 数据。启动后,消费者会从 Binlog 的开头开始遍历,并忽略时间戳小于指定时间戳的变更事件。
在您的代码片段中,startupTimestampMillis 是以毫秒为单位的启动时间戳。您可以使用 StartupOptions.timestamp() 方法来创建启动选项,并将启动模式设置为 StartupMode.TIMESTAMP,同时将时间戳转换为秒级精度(startupTimestampMillis / 1000)的 Binlog 偏移量。
然而,您提到在测试中发现无法读取从指定时间戳开始的 Binlog 数据。这可能是由于以下原因导致的:
时间戳问题:请确保您传入的时间戳是正确的,并且与 Binlog 中的时间戳匹配。时间戳应该表示自纪元以来的毫秒数。
CDC配置问题:请确保您在 Flink CDC 配置中正确使用了 timestamp() 方法,并将启动选项设置为启动模式 StartupMode.TIMESTAMP。检查配置文件以确保正确传递了时间戳参数。
Binlog数据未达到指定时间戳:如果指定的时间戳在 Binlog 中没有相应的数据变更事件,那么在启动时可能不会读取到数据。请确保在指定时间戳之后有相应的数据变更事件。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。