开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC中,是写完snapshot后再读最新binlog吗?

Flink CDC中mysql cdc设置scan.startup.mode = initial时,是写完snapshot后再读最新binlog吗?这里最新是啥意思,启动时候开始的binlog,还是snapshot读完后的开始的binlog?

展开
收起
十一0204 2023-07-26 08:19:01 108 0
3 条回答
写回答
取消 提交回答
  • 在 Flink CDC 的 MySQL CDC 连接器中,当设置 scan.startup.mode = initial 时,它会在写完快照(snapshot)后读取最新的 binlog。这里的 "最新" 指的是在写完快照后开始产生的 binlog。

    具体流程如下:

    1. 首先,Flink CDC 连接器会执行一个初始的全量快照操作,读取指定时间点之前的数据,并将其作为初始状态进行处理。

    2. 在完成快照后,连接器会启动 binlog 解析器,并从上一次同步的位置开始读取 binlog。这个位置是快照开始之前的 binlog 文件的位置。

    3. 连接器会持续解析和处理新生成的 binlog。它会读取到写完快照时的位置之后的 binlog 内容,并根据 binlog 中的变更操作来更新流数据。

    因此,"最新" 在这种情况下指的是在写完快照后生成的 binlog,而不是整个数据库的 binlog 历史记录。

    需要注意的是,在 scan.startup.mode = initial 下,连接器会较长时间地阻塞,直到完成全量快照的读取过程。这可能对任务的启动时间和性能产生一定影响,尤其是对于大型数据库或包含大量数据的表格。

    2023-07-31 22:44:04
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    在Flink CDC中,如果将MySQL CDC Connector的scan.startup.mode参数设置为initial,则会在启动时从MySQL数据库中读取快照数据,并在读取完成后从最新的binlog位置开始读取数据。这里的最新binlog位置是指从MySQL数据库中读取快照数据后,MySQL CDC Connector在读取binlog数据时所使用的起始位置。
    具体来说,当MySQL CDC Connector的scan.startup.mode参数设置为initial时,Flink CDC会执行以下操作:
    从MySQL数据库中读取快照数据,包括指定表的所有数据。
    在读取快照数据完成后,MySQL CDC Connector会记录下当前的binlog位置。
    在之后的数据读取过程中,MySQL CDC Connector会从记录的binlog位置开始读取binlog数据,并将其转换为数据流。
    因此,在使用scan.startup.mode = initial时,MySQL CDC Connector会先读取快照数据,然后从最新的binlog位置开始读取数据,即在读取快照数据完成后,MySQL CDC Connector会记录下当前的binlog位置作为

    2023-07-29 15:44:03
    赞同 展开评论 打赏
  • 意中人就是我呀!

    所有快照块完成后,Source 将继续在单个任务中读取 binlog。 为了保证快照记录和 binlog 记录的全局数据顺序,binlog reader 将开始读取数据直到快照块完成后并有一个完整的 checkpoint,以确保所有快照数据已被下游消费。 binlog reader 在状态中跟踪所使用的 binlog 位置,因此 binlog 阶段的 Source 可以支持行级别的 checkpoint。这个checkpoint内有MySqlBinlogSplit和MySqlSnapshotSplit 都有。
    此回答整理至钉群“Flink CDC 社区”。"

    2023-07-26 12:15:38
    赞同 展开评论 打赏

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载