Flink SQL使用MySQL数据源的启动模式

使用MySQL数据源时,即使用MySQL CDC源表,Flink任务启动时的模式说明:

CREATE TABLE mysql_source (
  `id` VARCHAR(10) COMMENT 'ID',
  `name` VARCHAR(20) COMMENT '名称',
  PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
  'connector' = 'mysql-cdc',
  'scan.startup.mode' = 'earliest-offset', -- 第一次启动时,不扫描历史全量数据,直接从可读取的最早Binlog开始读取
)

CREATE TABLE mysql_source (
  `id` VARCHAR(10) COMMENT 'ID',
  `name` VARCHAR(20) COMMENT '名称',
  PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
  'connector' = 'mysql-cdc',
  'scan.startup.mode' = 'latest-offset', -- 第一次启动时,不扫描历史全量数据,直接从Binlog的末尾(最新的Binlog处)开始读取,即只读取该连接器启动以后的最新变更
)

CREATE TABLE mysql_source (
  `id` VARCHAR(10) COMMENT 'ID',
  `name` VARCHAR(20) COMMENT '名称',
  PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
  'connector' = 'mysql-cdc',
  'scan.startup.mode' = 'specific-offset', -- 从特定位点启动
  'scan.startup.specific-offset.file' = 'mysql-bin.000003', -- 在特定位点启动模式下指定Binlog文件名
  'scan.startup.specific-offset.pos' = '4', -- 在特定位点启动模式下指定Binlog位置
  'scan.startup.specific-offset.gtid-set' = '24DA167-0C0C-11E8-8442-00059A3C7B00:1-19', -- 在特定位点启动模式下指定GTID集合
)

CREATE TABLE mysql_source (
  `id` VARCHAR(10) COMMENT 'ID',
  `name` VARCHAR(20) COMMENT '名称',
  PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
  'connector' = 'mysql-cdc',
  'scan.startup.mode' = 'timestamp', -- 不扫描历史全量数据,从指定的时间戳开始读取Binlog
  'scan.startup.timestamp-millis' = '1667232000000' -- 时间戳单位为毫秒
  /*
  注意:在使用指定时间时,MySQL CDC会从最早Binlog开始读取,直至Binlog事件的时间戳大于等于指定的时间戳后开始向下游发送数据。因此请保证指定的时间戳对应的Binlog文件在数据库上没有被清理且可以被读取到。
  */
)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值