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

Flink CDC消费kafka的时候使用latest,用savepoint启动后不生效?

Flink CDC消费kafka的时候使用latest,用savepoint启动后不生效,中间的数据都漏掉了,这个有办法解决吗?

展开
收起
真的很搞笑 2023-09-28 12:01:34 131 0
1 条回答
写回答
取消 提交回答
  • Flink CDC消费kafka的时候使用latest,用savepoint启动后是不生效的。

    Flink CDC的latest模式,会从kafka中获取最新的一条数据,然后一直从这个位置开始读取数据。如果使用savepoint启动,那么Flink会从savepoint中恢复状态,并从该状态开始读取数据。如果savepoint中保存的状态是之前的某个时刻,那么Flink CDC就会从该时刻开始读数据,而不会从最新的数据开始读取。

    为了解决这个问题,可以使用Flink CDC的timestamp模式。timestamp模式会从kafka中获取最新的一条数据,然后从该数据的timestamp开始读取数据。这样,即使使用savepoint启动,Flink CDC也会从最新的数据开始读取。

    另外,也可以使用Flink CDC的offset模式。offset模式会从kafka中获取最新的offset,然后从该offset开始读取数据。这样,即使使用savepoint启动,Flink CDC也会从最新的offset开始读取。

    在Flink CDC中,timestamp模式和offset模式都可以实现从最新的数据开始读取数据。但是,timestamp模式需要手动设置timestamp,而offset模式不需要。因此,对于大多数用户来说,offset模式会更加方便。

    2023-10-17 10:06:01
    赞同 展开评论 打赏

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

相关产品

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

    更多
    Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
    MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
    消息队列kafka介绍 立即下载