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

FlinkCDC MySQL 中 scan.startup.mode 用的是什么模式啊?

FlinkCDC MySQL 中 scan.startup.mode 用的是什么模式啊?
比如我启动一个Flink CDC,然后过一段时间,结束它,再重新启动,CDC会从最新的binlog开始读吗?还是从 checkpoint 读取?

展开
收起
小易01 2023-07-26 08:39:26 1566 0
4 条回答
写回答
取消 提交回答
  • 给您推荐最划算最便宜的阿里云云产品

    欢迎来到活动中心!快速了解阿里云最新产品优惠和所有活动资讯
    https://www.aliyun.com/activity?userCode=m4a0ywsh

    2024-04-08 15:59:14
    赞同 展开评论 打赏
  • 在 Flink CDC 中,scan.startup.mode 参数用于指定启动时从哪个位置开始读取数据。它有以下几种可选模式:

    1. initial: 这是默认的启动模式。当你首次启动 CDC 任务时,它会从最早的可用 binlog 位置开始读取数据。

    2. latest-offset: 如果你希望 CDC 在每次启动时从最新的 binlog 位置开始读取数据,可以使用此模式。CDC 会忽略之前的 checkpoint,从当前 binlog 文件的最后一个位置开始读取。

    3. specific-offset: 使用此模式可以指定具体的 binlog 位置来进行启动。你需要提供 scan.startup.specific-offsets 参数,并指定对应的 binlog 文件名和偏移量。CDC 将从指定的位置开始读取数据。

    当你启动一个 Flink CDC 任务时,如果之前已经执行过一段时间并结束了,再重新启动该任务时,默认情况下,CDC 会根据 scan.startup.mode 的配置来确定从哪个位置开始读取数据。

    • 如果 scan.startup.mode 设置为 latest-offset,CDC 将从最新的 binlog 位置开始读取,而不考虑之前的 checkpoint。
    • 如果 scan.startup.mode 设置为 initial,CDC 将从最早的可用 binlog 位置开始读取。
    • 如果 scan.startup.mode 设置为 specific-offset,则需要通过 scan.startup.specific-offsets 指定具体的 binlog 位置。

    需要注意的是,如果你希望 CDC 在重新启动时从之前的 checkpoint 位置开始读取数据,可以使用 Flink 的状态后端来保存和恢复 CDC 任务的状态。这样,CDC 可以根据最新的 checkpoint 来确定从哪个位置开始读取数据,并保持数据的一致性。

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

    在 Flink CDC for MySQL 中,scan.startup.mode 参数用于指定 CDC 抽取任务的启动模式。具体来说,scan.startup.mode 参数有以下几种可选模式:
    earliest-offset:从最早的数据变更开始读取数据。启动时,Flink CDC 会从 MySQL 的 binlog 中获取最早的日志位置,然后从这个位置开始读取数据。
    latest-offset:从最新的数据变更开始读取数据。启动时,Flink CDC 会从 MySQL 的 binlog 中获取最新的日志位置,然后从这个位置开始读取数据。这是默认的启动模式。
    specific-offset:从指定的数据变更位置开始读取数据。启动时,Flink CDC 会从用户指定的日志位置开始读取数据。
    timestamp:从指定的时间戳开始读取数据。启动时,Flink CDC 会从用户指定的时间戳开始读取数据。

    2023-07-29 13:47:23
    赞同 展开评论 打赏
  • 存在即是合理

    在 Flink CDC MySQL 中,scan.startup.mode 参数用于指定数据源的启动模式。它有以下几种可选值:

    • latest-offset:从最新的 binlog 偏移量开始读取数据。
    • earliest-offset:从最早的 binlog 偏移量开始读取数据。
    • checkpoint:从 checkpoint 开始读取数据。

    如果在启动 Flink CDC 时没有指定 scan.startup.mode 参数,则默认使用 latest-offset 模式。这意味着 Flink CDC 将从最新的 binlog 偏移量开始读取数据。

    当结束 Flink CDC 并重新启动它时,如果没有指定新的 scan.startup.mode 参数,则 Flink CDC 将从最新的 binlog 偏移量开始读取数据。如果您想从特定的 binlog 偏移量或 checkpoint 开始读取数据,可以在启动 Flink CDC 时指定相应的 scan.startup.mode 参数。

    2023-07-26 13:39:04
    赞同 展开评论 打赏

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

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像