Flink CDC:使用 Flink SQL 将多表写入一个 Kafka Topic 以及 Flink 作业数量的测试

《大数据平台架构与原型实现:数据中台建设实战》博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维码进入京东手机购书页面。

本测试要验证两个问题:

  • Flink CDC 能否将多张表的 CDC 数据 (debezium-json 格式)写入到同一个 Kafka Topic 中?
  • 验证使用 Flink SQL 方式将多表同时写入 Kafka 时,Flink 的作业数量

首先,准备好用 Flink SQL 实现的将两张表同步到一个 Kafka Topic 中的代码:

create catalog mysql_datasource with ('type'='jdbc','base-url'='jdbc:mysql://10.0.13.30:3306','default-database'='gmall','username'='root','password'='Admin1234!'
);create database if not exists src;
create database if not exists ods;-- sync table: activity_infodrop table if exists src.activity_info;
create table if not exists src.activity_info with ('connector' = 'mysql-cdc','hostname' = '10.0.13.30','port' = '3306','username' = 'root','password' = 'Admin1234!','database-name' = 'gmall','table-name' = 'activity_info'
) like mysql_datasource.gmall.activity_info (excluding options);drop table if exists ods.activity_info;
create table if not exists ods.activity_info with ('connector' = 'kafka','topic' = 'ods','properties.bootstrap.servers' = 'b-2.oscimskcluster1.cedsl9.c20.kafka.us-east-1.amazonaws.com:9092,b-3.oscimskcluster1.cedsl9.c20.kafka.us-east-1.amazonaws.com:9092,b-1.oscimskcluster1.cedsl9.c20.kafka.us-east-1.amazonaws.com:9092','properties.group.id' = 'ods','scan.startup.mode' = 'earliest-offset','format' = 'debezium-json'
) like src.activity_info (excluding options);-- sync table: activity_ruledrop table if exists src.activity_rule;
create table if not exists src.activity_rule with ('connector' = 'mysql-cdc','hostname' = '10.0.13.30','port' = '3306','username' = 'root','password' = 'Admin1234!','database-name' = 'gmall','table-name' = 'activity_rule'
) like mysql_datasource.gmall.activity_rule (excluding options);drop table if exists ods.activity_rule;
create table if not exists ods.activity_rule with ('connector' = 'kafka','topic' = 'ods','properties.bootstrap.servers' = 'b-2.oscimskcluster1.cedsl9.c20.kafka.us-east-1.amazonaws.com:9092,b-3.oscimskcluster1.cedsl9.c20.kafka.us-east-1.amazonaws.com:9092,b-1.oscimskcluster1.cedsl9.c20.kafka.us-east-1.amazonaws.com:9092','properties.group.id' = 'ods','scan.startup.mode' = 'earliest-offset','format' = 'debezium-json'
) like src.activity_rule (excluding options);-- sync all tables...insert into ods.activity_info select * from src.activity_info;
insert into ods.activity_rule select * from src.activity_rule;

将上述文件保存为 gmall-sync.sql ,使用如下命令提交:

/usr/lib/flink/bin/sql-client.sh embedded -f gmall-sync.sql

打开 Flink UI,看到如下结果:

image-20240409175737077

结论:

  • Flink CDC 能将多张表的 CDC 数据 (debezium-json 格式)写入到同一个 Kafka Topic 中
  • Flink SQL 中每个 INSERT INTO 都是一个单独的 Job,所以上面的 SQL 虽然能将多个表的 CDC 数据写入同一个 Kafka Topic,但并不能实现多表一个 Flink 任务,还是一个表对应一个数据库连接,一个 Flink Job

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/626057.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程入门(二)【计算机基础三】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言五、常用软件的相关介绍六、操作系统的相关介绍七、Window11系统的基本操…

全域电商国内外主流电商平台商品API接口数据采集【附返回实例】

国内主流电商平台包括: 1. 淘宝:阿里巴巴旗下的电子商务平台,以C2C和B2C交易为主要业务模式。 2. 天猫:阿里巴巴旗下的B2C电子商务平台,为品牌商和零售商提供销售渠道和服务。 3. 京东:一家以B2C为主营业务…

C语言-指针

1. 指针是什么 指针理解的2个要点: 1.1. 指针是内存中一个最小单元的编号,也就是地址 1.2 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量 总结:指针就是地址,口…

万兆以太网MAC设计(1)10G PCS PMA IP核使用

文章目录 一、设计框图二、模块设计三、IP核配置四、上板验证五、总结 一、设计框图 关于GT高速接口的设计一贯作风,万兆以太网同样如此,只不过这里将复位逻辑和时钟逻辑放到了同一个文件ten_gig_eth_pcs_pma_0_shared_clock_and_reset当中。如果是从第…

软考中级之数据库系统工程师笔记总结(三)操作系统

作者:Maynor 博客之星大数据领域Top1,GitHub项目awesome-chatgpt-project作者, 腾讯云TDSQL-C数据库开发者, 全网技术矩阵粉丝7w 公众号:Maynor996随着信息技术的飞速发展,数据库已成为现代企业和组织不可或缺的数据管理工具。对于许多专业人…

刷代码随想录有感(34):前k个高频元素

本题代码涉及到了多个陌生概念&#xff0c;题干如下&#xff1a; 代码; class Solution { public:class mycomparison{//自定义规则&#xff0c;使优先队列可以自动排序public:bool operator()(pair<int, int> & lhs, pair<int, int> & rhs){return lhs.s…

如何把车卖出去,什么营销最靠谱!

之前我看过雷军的《小米创业思考》&#xff0c;在书中他一直在强调互联网思维&#xff0c;这是一种非常好的思考模式&#xff0c;不仅限于互联网产品&#xff0c;在这次卖车上也一样展现的淋漓尽致。 营销一样需要被设计。提到&#xff0c;不少设计师首先想到的是做运营海报&am…

Zabbix监控Windows

1.在虚拟机中安装zabbix 安装系统一直托不进虚拟机中&#xff1b;因为没安装Tools组件 点击虚拟机&#xff0c;选择安装VMware Tools 2.配置zabbix

探索R语言的无限魅力,通晓数据可视化之道,助力科研之路!

本书特色 1.全面覆盖&#xff1a;本书从R语言的基础知识开始&#xff0c;逐步深入到科研绘图的高级技巧&#xff0c;为读者提供了一站式的科研绘图学习体验。 2.案例丰富&#xff1a;通过大量的实际案例&#xff0c;展示了R语言在科研绘图和学术图表绘制中的具体应用&#xf…

【办公类-22-03】20240417 UIBOT模拟上传获取流量券,并删除内容

背景需求&#xff1a; 为了获得CSDN每天两张的流量券&#xff0c;我每天都绞尽脑汁制作2个上传博文。 最近要育婴师考试和单位里的各类任务&#xff0c;我实在没有精力写代码了&#xff0c;于是我试试&#xff0c;能不能“假装”上传足够的篇数&#xff0c;先将每周的流量券都…

python-程序流程控制

目录 1、三元表达式 2、for 循环 3、while 循环 4、迭代遍历 1、三元表达式 python 支持从列表中挑选对象 用法&#xff1a; a [x,y][z] 如果 z 为真&#xff0c;将 y 赋值给 a&#xff0c;如果 z 为假&#xff0c;则将 x 赋值给 a 。 示例代码&#xff1a; x 1 a …

秋招之路 面经

这里参考一位很厉害的前辈所分享的他的嵌入式软件工程师秋招之路&#xff0c;自己详细的读了一下他的经历以及他的分享的秋招面试和项目经验的总结。 我的嵌入式软件工程师秋招之路&#xff08;文末送福利&#xff09;_嵌入式软件工程师 刷leetcode-CSDN博客 如何在面试中介绍…