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

news/2024/9/29 23:32:10

 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.hjln.cn/news/45336.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

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

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

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…

Vue 3深度探索:自定义渲染器与服务端渲染

这篇文章介绍了如何在Vue框架中实现自定义渲染器以增强组件功能,探讨了虚拟DOM的工作原理,以及如何通过SSR和服务端预取数据优化首屏加载速度。同时,讲解了同构应用的开发方式与状态管理技巧,助力构建高性能前端应用。title: Vue 3深度探索:自定义渲染器与服务端渲染 date…

【干货分享】.NET人脸识别解决方案

前言 前段时间有同学在DotNetGuide技术社区交流群提问:.NET做人脸识别功能有什么好的解决方案推荐的吗?今天大姚给大家推荐2款.NET开源、免费、跨平台、使用简单的人脸识别库,希望可以帮助到有需要的同学。 人脸识别应用场景 现如今人脸识别应用场景比较广泛如:安防监控、人…

git-jenkins阶段04 jenkins自由风格项目(发布, 自动触发器, 返回状态给gitlab), maven项目, pipeline流水线项目

1.Jenkins创建项目点击创建一个新任务#类型: 自由风格项目: php,c,python项目 maven项目:要编译的,像java项目 pipeline:流水线操作创建一个自由风格项目,如图 项目配置中,可以选择丢弃旧的构建,只保存7天的构建记录,最多保留10个构建记录。(可配可不配) 构建一般只用shel…

ABC355E Guess the Sum 题解

前缀和上建图,有点典,但赛时没想出来ABC355E Guess the Sum 题目大意 给定一个长度为 \(2^n\) 的序列 \((A_0,A_1,\dots,A_{2^n-1})\),每次可以询问一个长度为 \(2^i\) 的区间 \([l,r]\),满足 \(l\) 是 \(2^i\) 的倍数,标准输入会返回 \([l,r]\) 的区间和 \(\bmod 10\) 的…

单文件静默安装包 2024年6月14日

单文件静默安装包 2024年6月14日"D:\Prog\7z SFX Builder\单文件静默安装包.txt" "D:\Prog\7z SFX Builder\单文件静默安装包.txt" Version 1.0 Builder 2024年6月14日1、目的目标 制作Windows系统平台上的应用软件的静默安装包, 例如:一键安装MS-Offic…