Flink CDC--MySQL

Flink CDC–MySQL

Flink CDC MySQL版本

单表 CDC

目标:利用 Flink 将 MySQL 增量数据同步到 Doris
执行流程

第一步:操作数据库构建表,并加入数据

mysql -u root -p
update user set Host='%' where User='root';
CREATE DATABASE mysql_cdc_database;
use mysql_cdc_database;
CREATE TABLE mysql_cdc_prove (
    id INT NOT NULL,
    name VARCHAR(255),
    description VARCHAR(255),
    PRIMARY KEY(id) 
);
INSERT INTO mysql_cdc_prove (id, name, description) VALUES
 (1, 'Product A', 'Description A'),
 (2, 'Product B', 'Description B'),
 (3, 'Product C', 'Description C'),
 (4, 'Product D', 'Description D');

第二步:在 Doris 中创建表

CREATE TABLE mysql_source (
  id INT,
  name VARCHAR(255),
  description VARCHAR(255),
) 
UNIQUE KEY(`id`)
DISTRIBUTED BY HASH(id) 

第二步:编写Flink SQl
创建 CDC 源表

CREATE TABLE mysql_cdc_base (
 id INT NOT NULL,
 name VARCHAR(255),
 description VARCHAR(255)
 PRIMARY KEY(id) NOT ENFORCED
) WITH (
 'connector' = 'mysql-cdc',
 'hostname' = '192.168.10.177',
 'port' = '3306',
 'username' = 'root',
 'password' = '-3xxxxxaudt&R].',
 'database-name' = 'mysql_cdc_database',
 'table-name' = 'mysql_cdc_prove'
);

创建 Doris 的映射表

CREATE TABLE mysql_mapping (
  id INT,
  name VARCHAR,
  description VARCHAR
) WITH (
'connector' = 'doris',
'fenodes' = '192.168.10.1:8030',
'table.identifier' = 'test.mysql_source',
'username' = 'root',
'password' = 'Q#n2Grststs@13',
'sink.label-prefix' = 'mysql_mapping'
);

将源表 CDC 数据同步到 Doris 中

insert into
  mysql_mapping
select
  id,
  name,
  description
from
  mysql_cdc_base;

第三步:在 Doris 中进行查询

use test;
show tables;
select * from mysql_source;

多表 CDC

过程与单表 CDC 类似,只需要在插入之前,按照上述过程配置多个单表,最后在用 flink sql 选择多个不同的数据表进行插入即可。

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值