flinkCDC mysql

1.首先必须在要同步到源端和目标端创建好表

2.源端flinksql语句如下:

sql 复制代码
DROP TABLE IF EXISTS FLINK_SOURCE_hrpt_dtl;
create table FLINK_SOURCE_hrpt_dtl(
`template_dtl_id`bigint NOT NULL ,
  `template_id`bigint NOT NULL COMMENT '报表模板ID,hrpt_template.template_id',
  `template_url` varchar(480)   COMMENT '模板路径',
  `template_content` string  COMMENT '模板内容',
  `lang` varchar(30)  NOT NULL COMMENT '模板语言',
  `enabled_flag` tinyint NOT NULL  COMMENT '启用标识',
  `tenant_id`bigint NOT NULL  COMMENT '租户ID,hpfm_tenant.tenant_id',
  `object_version_number`bigint NOT NULL  COMMENT '行版本号,用来处理锁',
  `creation_date` timestamp NOT NULL,
  `created_by`bigint NOT NULL ,
  `last_updated_by`bigint NOT NULL ,
  `last_update_date` timestamp NOT NULL,
	PRIMARY KEY (`template_dtl_id`) NOT ENFORCED
)with (
'connector' = 'mysql-cdc',
'hostname' = '1.6.2.13',
'port' = '3306',
'username' = 'test',
'password' = 'test@123',
'database-name' = 'report',
'table-name' = 'hrpt_dtl',
'scan.incremental.snapshot.enabled' = 'false',
'debezium.database.tablename.case.insensitive' = 'false',
'debezium.log.mining.strategy' = 'online_catalog',
'server-time-zone' = 'Asia/Shanghai',
'debezium.log.mining.continuous.mine' = 'true'
);

3.目标端flinksql模板

sql 复制代码
DROP TABLE IF EXISTS FLINK_TARGET_hrpt_dtl;
create table FLINK_TARGET_hrpt_dtl(
`template_dtl_id`bigint NOT NULL ,
  `template_id`bigint NOT NULL COMMENT '报表模板ID,hrpt_template.template_id',
  `template_url` varchar(480)   COMMENT '模板路径',
  `template_content` string  COMMENT '模板内容',
  `lang` varchar(30)  NOT NULL COMMENT '模板语言',
  `enabled_flag` tinyint NOT NULL  COMMENT '启用标识',
  `tenant_id`bigint NOT NULL  COMMENT '租户ID,hpfm_tenant.tenant_id',
  `object_version_number`bigint NOT NULL  COMMENT '行版本号,用来处理锁',
  `creation_date` timestamp NOT NULL,
  `created_by`bigint NOT NULL ,
  `last_updated_by`bigint NOT NULL ,
  `last_update_date` timestamp NOT NULL,
	PRIMARY KEY (`template_dtl_id`) NOT ENFORCED
)with (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://10.6.28.10:3306/cdc?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&serverTimezone=Asia/Shanghai',
'username' = 'test',
'password' = 'test@123',
'table-name' = 'hrpt_dtl',
'driver' = 'com.mysql.jdbc.Driver',
'scan.fetch-size' = '200'
);

4.把源端数据插入到目标端

sql 复制代码
insert into FLINK_TARGET_hrpt_dtl select * from FLINK_TARGET_hrpt_dtl ;

以上就是flink_CDC的全部过程。

相关推荐
收纳过往10 分钟前
数据库加索引的时机:慢查询日志说话
android·开发语言·数据库·python·低代码·rxjava
咖啡八杯18 分钟前
Redis 工具封装:RedisCache 对 Operations 体系的二次封装
java·数据库·redis·缓存·框架·springboot·若依
PaperData19 分钟前
2000-2025年地级市科技支行设立数据
数据库·科技
实泽有之,无泽虚之26 分钟前
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务问题原因及解决办法
数据库·oracle
牧瀬クリスだ41 分钟前
Redis Hash实战:高效存储对象与购物车
java·数据库·redis·算法·哈希算法
A小码哥1 小时前
【外】水星3号实测 1068 token 每秒靠谱吗
数据库
秋饼1 小时前
MySQL 分库分表完全指南:ShardingSphere-JDBC 实战、分片键选型、场景边界、20 个生产坑与 30 道面试点
java·mysql·面试·shardingsphere·分库分表·后端架构
qq_452396231 小时前
第六篇:《SQL 优化的艺术:从慢查询到毫秒级响应》
数据库·sql
ShineWinsu1 小时前
对于Qt:QWidget通用属性的解析—上
数据库·qt·microsoft·面试·gui·属性·qwidget
程序员塔塔喵1 小时前
【MySQL篇|第十篇】深分页问题
数据库·oracle·深分页问题