请问flink cdc中这个ts_ms 好像不是数据实际入表的时间,是当前读取的时间吧?

问题1:6a38584e90801c4dd77b5ea54655e864.png
请问flink cdc中这个ts_ms 好像不是数据实际入表的时间,是当前读取的时间吧?
问题2: 我咋感觉startupOptions只支持initail 跟 latest 啊?

展开
收起
十一0204 2023-07-19 17:56:52 286 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 Flink CDC 中,如果使用 Debezium CDC 技术进行数据同步,那么 CDC 数据源会自动为每个记录添加一个名为 ts_ms 的字段,该字段表示记录在 CDC 数据源中读取的时间戳。这个时间戳并不是实际的数据入库时间,而是 CDC 数据源读取数据时的时间戳,也就是数据进入 Flink 程序的时间。
    如果您需要获取数据实际入库的时间,需要根据具体情况从其他地方获取,例如,可以从 CDC 数据源中获取 binlog 中的 commit_timestamp 字段,该字段表示数据实际提交到数据库时的时间戳。不过需要注意的是,该字段并不是所有 CDC 数据源都支持,具体支持情况需要根据具体的 CDC 数据源来确定。
    另外,如果您使用的是自定义的反序列化器,可以在其中添加对应的字段,来获取数据实际入库的时间。例如,您可以从 CDC 数据源的 binlog 中获取 co

    2023-07-29 19:54:30
    赞同 展开评论
  • 意中人就是我呀!

    "回答1:和这个属性有点关系。1dc8a22b1c95ffd2d1ba078258b79e54.png
    回答2:用cdc2.3版本就可以了。如果是默认的,数据先select,op是r,当然source里面的是tm_ms时间是当前时间。如果你不走默认的,想看到明显的差异性,走最早启动或者binlog点位启动,或者binlog时间点启动,他昨晚想看到差异性,直接读最早的binlog即可。此回答整理至钉群“Flink CDC 社区”。"

    2023-07-19 18:57:48
    赞同 展开评论

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

还有其他疑问?
咨询AI助理