Flink cdc如何只进行增量同步,不同步历史数据(只读取binlog)

环境

flink: 1.15.3
flink-connector-mysql-cdc: 2.4.0

场景:

mysql cdc到starrocks,
目前线上环境以及有老的任务在同步,现在升级了任务(旧checkpoints无法使用)旧表里面数据特别大,不方便重新同步

方案

思考:表里面的旧数据放着不动,只从binlog同步最新的数据。

解决

https://nightlies.apache.org/flink/flink-cdc-docs-master/zh/docs/connectors/mysql/
这是官网的解决办法,但是没有说参数设置在哪里。起初设置到debeziumProperties()里面是不生效的。

其实MySqlSourceBuilder是有一个方法特意指定startUP mode的

MySqlSourceBuilder<String> builder = new MySqlSourceBuilder<>();

if (StringUtils.isNotBlank(latestOffset)){
     // 从最新的binlog同步
      builder.startupOptions(StartupOptions.latest());
 }

这样就可以了,重启任务不会读取历史数据。

最后(注意!!!)

执行过后请停止任务从最新的checkpoints恢复,或者记录好checkpoints。否则下次仍然指定这种模式会丢失数据的,还有指定了这个模式不要写死,否则checkpoints会失效的,用参数的方式传入!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-20 19:04:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-20 19:04:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-20 19:04:05       82 阅读
  4. Python语言-面向对象

    2024-04-20 19:04:05       91 阅读

热门阅读

  1. Flink SQL 自定义函数 - 字符串拆分

    2024-04-20 19:04:05       34 阅读
  2. WPF App.xaml 中添加多个ResourceDictionary

    2024-04-20 19:04:05       42 阅读
  3. Flink SQL

    Flink SQL

    2024-04-20 19:04:05      27 阅读
  4. Redis 核心知识点常考面试题(持续更新中)

    2024-04-20 19:04:05       34 阅读
  5. Redis中connection命令详解

    2024-04-20 19:04:05       33 阅读
  6. 【WPF】取色器-Color Extractor

    2024-04-20 19:04:05       38 阅读
  7. NLP预训练模型-GPT-3

    2024-04-20 19:04:05       35 阅读
  8. 消息队列的确认机制和持久化选项

    2024-04-20 19:04:05       32 阅读
  9. 机器学习实验------随机森林

    2024-04-20 19:04:05       36 阅读
  10. 富格林:翻出虚假陷阱保障安全

    2024-04-20 19:04:05       28 阅读
  11. Elasticsearch 索引文档的过程

    2024-04-20 19:04:05       34 阅读
  12. Kafka 源码解析 - Kafka Consumer设计解析

    2024-04-20 19:04:05       37 阅读
  13. vue+vite+elements

    2024-04-20 19:04:05       29 阅读