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文件在数据库上没有被清理且可以被读取到。
  */
)

你可能感兴趣的:(大数据,flink,sql,mysql,cdc,connector)