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的全部过程。

相关推荐
阳光九叶草LXGZXJ8 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
字节渡客9 小时前
Redis键明明过期了,业务还在读到旧数据
数据库·redis·spring
OnlineProxy11 小时前
亚马逊多账号运营:如何在规避“关联封号”风险的同时实现电商规模化扩张
服务器·数据库·redis
辻弋20112 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
可乐鸡翅yeah_13 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
石头麻辣鱼13 小时前
Bamboo 调度系统 OceanBase 适配实战:存储过程迁移踩过的三个大坑
数据库
龙亘川14 小时前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
念何架构之路14 小时前
zap扩展生态与总结
java·前端·数据库
晚安日记wanna15 小时前
MySQL 回表为什么这么慢?5 种优化手段逐个拆解
数据库·mysql·性能优化
第七页独白15 小时前
汽车零件厂如何通过 QMS 真正落地 IATF 16949——QMS软件系统:品质检验-内审稽核-8d客诉管理:全星质量管理软件系统
java·前端·数据库