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

我用的Flink1.7,CDC版本2.3的,有没有的类似代码给一个,看看是不是哪里配置少了?

我用的Flink1.7,CDC版本2.3的,这种initial模式理论上是第一次同步全量数据,后面如果再启动,只要flink保存了checkpoint,里面应该有程序停止前的scn位置吧,下次启动不会再全量读了,从上次的scn开始读,有没有的类似代码给一个,看看是不是哪里配置少了?

展开
收起
真的很搞笑 2023-11-06 19:58:24 49 0
1 条回答
写回答
取消 提交回答
  • 对不起,我之前的回答可能有误。Flink CDC的Initial Mode确实是在启动时会进行一次全量同步,无论是否有Checkpoint。这是因为Initial Mode的设计目标就是一次性地将所有的数据加载到State中,以便后续的增量处理。

    如果你希望在后续的启动中能够从上次停止的地方继续读取,你可能需要使用Flink CDC的Incremental Mode。在Incremental Mode中,Flink CDC会根据Checkpoint中的位置信息,从上次停止的地方继续读取。

    然而,Flink CDC的Incremental Mode目前只支持MySQL和PostgreSQL,对于Oracle的支持还在开发中。此外,Incremental Mode的使用也需要一些额外的配置,例如需要设置TableSchemaHistoryRetentionTime,以便Flink CDC知道从哪里开始读取。

    对于你的需求,我建议你可以考虑使用Flink CDC的Incremental Mode,并在启动任务之前,手动地将Checkpoint中的位置信息设置为上次停止的地方。这样,你就可以实现在后续的启动中能够从上次停止的地方继续读取的目标。

    2023-11-07 11:30:55
    赞同 1 展开评论 打赏

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

相关产品

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

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载