各位大佬,Flink CDC中动态加表是不是要在全量模式的checkpoint下才能加啊?

各位大佬,Flink CDC中动态加表是不是要在全量模式的checkpoint下才能加啊?

展开
收起
真的很搞笑 2023-07-01 20:02:57 231 分享 版权
3 条回答
写回答
取消 提交回答
  • 在 Flink CDC 中动态添加表不需要全量模式的检查点(checkpoint),默认情况下,Flink CDC 是基于增量的检查点工作的。

    具体来说: - Flink CDC 默认执行增量检查点,记录状态变更。 - 当动态添加表时,Flink CDC 会自动从 MySQL binlog 中找到该表最新的位点,并从该位点开始消费数据。 - 因此,即使之前没有进行全量检查点,Flink CDC 也能正确处理新添加的表。

    Flink CDC 会检查该表的 binlog 日志,并从最新位点开始提取(ingest)数据。因此,总的来说: - Flink CDC 的默认检查点模式是增量检查点。 - 在动态添加表时,Flink CDC 可以根据 binlog 定位最新位点,并从该位点开始消费该表的数据。 - 不需要额外的全量检查点就可以处理新添加的表。

    因此,在作业启动后,只要有新的 binlog 事件产生,就可以动态添加表,而无需进行全量检查点。

    然而,如果您希望在动态添加表后保持准确一致性,则可以执行以下步骤: 1. 执行一个全量检查点,记录当前所有表的状态。 2. 然后再添加新的表,并基于该全量检查点继续运行作业。

    这样可以确保在动态添加表后保持精确一致

    2023-07-30 13:14:43
    赞同 展开评论
  • 北京阿里云ACE会长

    link CDC中动态添加表,不需要全量检查点就可以工作。
    具体来说:
    Flink CDC默认只做增量 checkpoints,记录状态变更。
    动态添加表时,Flink CDC 会自动从 MySQL binlog 中找出该表最新的位点,基于此位点开始消费。
    所以,就算之前没有做全量检查点,也能正确处理新添加的表。
    Flink CDC会检查该表的binlog日志,基于最新位点开始 ingest 数据。
    所以,总的来说:
    Flink CDC的默认检查点模式是增量检查点
    动态添加表时,Flink CDC会自动根据binlog定位最新位点
    然后基于此位点开始消费该表的数据
    不需要额外的全量检查点也能处理新添加的表
    因此,在作业启动后,只要有新 binlog 事件产生,就可以动态添加表,无需全量检查点。
    如果需要动态添加表并且保证精确一致,则需要:
    做一个全量检查点,记录当前所有表的状态
    然后再添加新表,基于该全量检查点继续运行

    2023-07-30 10:54:52
    赞同 展开评论
  • cdc依赖ckp的,是需要开启的,此回答整理自钉群“Flink CDC 社区”

    2023-07-01 20:25:06
    赞同 展开评论

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

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