kettle从入门到精通 第六十九课 ETL之kettle kettle cdc mysql,轻松实现实时增量同步

news/2025/4/19 4:08:52/文章来源:https://www.cnblogs.com/zjBoy/p/18246490

 1、之前kettle cdc mysql的时候使用的方案是canal+kafka+kettle,今天我们一起学习下使用kettle的插件Debezium直接cdc mysql。

 注:CDC (Change Data Capture) 是一种技术,用于捕获和同步数据库中的更改。

1)Debezium步骤解析mysql binlog日志。

2)json input步骤解析json字符串。

3)switch-case 根据op字段进行路由。

4)create、delete、update、ddl是写日志步骤,模拟后续操作。

2、Debezium步骤配置如下(只输出dml),更多属性配置参考Debezium官网。如下图所示:

 3、switch-case配置如下,不做过多介绍。

 4、binlog解析之后的dml语句对应的json字符串结构

CREATE

{"ts_ms": 1718273338000,"db": "test","table": "t1","op": "CREATE","after": "{\"id\":6,\"name\":\"金刚葫芦娃\",\"createtime\":1718297698000}","pk": "{\"id\":6}"
}

UPDATE

{"ts_ms": 1718273345000,"db": "test","table": "t1","op": "UPDATE","before": "{\"id\":6,\"name\":\"金刚葫芦娃\",\"createtime\":1718297698000}","after": "{\"id\":6,\"name\":\"金刚葫芦娃plus\",\"createtime\":1718297698000}","pk": "{\"id\":6}"
}

DELETE

{"ts_ms": 1718273369000,"db": "test","table": "t1","op": "DELETE","before": "{\"id\":6,\"name\":\"金刚葫芦娃plus\",\"createtime\":1718297698000}","pk": "{\"id\":6}"
}

 

5、Debezium步骤配置中设置ddl为true(输出dml和ddl),更多属性配置参考Debezium官网。如下图所示:

 6、binlog解析之后的ddl语句对应的json字符串结构

 

DROP TABLE
{"ts_ms": 1718274150072,"db": "test","table": "t3","op": "ddl","sql": "DROP TABLE `test`.`t3`"
}
CREATE TABLE
 
{"ts_ms": 1718274165789,"db": "test","table": "t3","op": "ddl","ddl_type": "CREATE","sql": "CREATE TABLE `t3` (\n `id` bigint NOT NULL AUTO_INCREMENT,\n `name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,\n `createtime` datetime DEFAULT NULL,\n PRIMARY KEY (`id`)\n ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"
}

 

 

 

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

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

相关文章

转载:国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word 文件

转载:国产linux系统(银河麒麟,统信uos)使用 PageOffice 国产版在线打开 word 文件PageOffice 国产版 :支持信创系统,支持银河麒麟V10和统信UOS,支持X86(intel、兆芯、海光等)、ARM(飞腾、鲲鹏、麒麟等)芯片架构。 在OA办公、文档流转等各个Web系统中,实现最简单的打…

可视化学习:如何使用后期处理通道增强图像效果

GPU是并行渲染的,这样的渲染很高效。但是在实际需求中,有时我们计算片元色值时,需要依赖周围像素点或者某个其他位置像素点的颜色信息,这样的话想要一次性完成绘制就无法做到,需要对纹理进行二次加工处理。前言 大家好,本文分享的是如何使用后期处理通道增强图像效果,通…

Android Binder 机制之客户端注册过程

Android Binder 机制之 Service 模块 以 Hal 层进程作为 Binder 机制中服务进程模块讲解服务端如何通过 Binder 驱动向 ServiceManager 注册服务的。 以 Broadcastradiohal2.0 为例,Android 版本 Android 9.0 broadcastradiohal 启动 收音机的 Broadcastradiohal2.0 源码在 ha…

wkhtmltopdf的下载和使用

wkhtmltopdf 是一个开源的命令行工具,用于将 HTML 页面转换为 PDF 文档。它使用 Qt WebKit 渲染引擎,支持 CSS、JavaScript 等前端技术,并提供丰富的配置选项,使用户能够控制转换过程。 下载步骤 (1)打开官网链接:https://wkhtmltopdf.org/downloads.html根据自己电脑系…

centos设置自定义服务并开机自启动

1、编写自定义脚本 cat /root/test.sh !/bin/bash 每隔5s打印当前时间并输出到指定文件里 while true do echo "date +%Y-%m-%d %H:%M:%S" >> /root/a.log sleep 5 done 2、将脚本设置成服务 vim /etc/systemd/system/zdy.service [Unit] Description=zidingyi…

zig vs rust

unsafe rust VS zig https://zackoverflow.dev/writing/unsafe-rust-vs-zig/ 总结: 对于大型项目,底层用zig来代替unsafe rust 再往上层抽象时,使用rust,获得编译时检查错误。

Rockylinux学习笔记

1.镜像下载https://rockylinux.org/download2.操作系统安装和centos7安装方式一样,Rocky9默认不允许root用户登陆系统,如果需要的话,需要在安装操作系统的时候,勾选运行root用户登陆选项 3.配置IP地址 3.1 rocky 8.10 配置IP地址[root@localhost ~]# cat /etc/sysconfig/ne…