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

'debezium.snapshot.mode' = 'never' 模式,为啥始终会多一条数据?

'debezium.snapshot.mode' = 'never' 模式,为啥始终会多一条数据?

展开
收起
爱喝咖啡嘿 2022-12-27 14:33:45 1951 0
1 条回答
写回答
取消 提交回答
  • 'debezium.snapshot.mode' 设置为 'never' 模式意味着 Debezium 不会在连接时进行快照,只会从最后一个事务日志中开始读取 binlog。

    如果 Debezium 始终会多读一条数据,可能是因为 Debezium 连接的时候最后一条事务日志中还有一条未完成的事务,导致 Debezium 多读了一条数据。

    如果想要解决这个问题,可以尝试使用 'debezium.snapshot.mode' 设置为 'initial' 模式,这样 Debezium 就会在连接时进行快照,然后从最后一个事务日志中开始读取 binlog,从而避免多读一条数据的情况。

    当然,如果您的应用程序要求使用 'debezium.snapshot.mode' 设置为 'never' 模式,那么您可以在每次连接时手动删除最后一条事务日志中未完成的事务,从而避免多读一条数据的情况。

    2022-12-30 23:12:14
    赞同 展开评论 打赏

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

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载