用flinkcdc debezium来捕获数据库的删除内容

我在用flinkcdc把数据从sqlserver写到doris

正常情况下sqlserver有删除数据,doris是能捕获到并很快同步删除的。

但是我现在情况是doris做为数仓,数据写到ods,ods的数据还会通过flink计算后写入dwd层,所以此时ods的数据是删除了,但是dwd甚至ads的都没删除,这样就会有脏数据。此时我们就需要去捕获被删除的数据,就要用到debezium插件。

利用cdc把数据从sqlserver发送到kafka,并转为debezium的json格式。

source表正常配,sink-kafka的表配置如下:

然后再拉一个工作流

 

想获取数据的话,就用如下方式:

很多人不懂op是什么,c是什么,接下来解释下: 

debezium会有四种op的数据,

  • op :表示当前事件的类型,取值为:c表示insert、u表示update、d表示delete、r表示快照read;
  • ts_ms: connector处理该事件的本地时间戳,可以省略;
  • before:变化事件发生之前的值;
  • after:变化事件发生之后的值;
  • source:事件源的结构信息,包括connector版本、事务ID等;

 举个例子:

  • 新增一条数据:
insert into inventory.a values (4, 'n4');

控制台输出的是:

..."payload":{"before":null,"after":{"id":4,"name":"n4"}..."op":"c"...
  • 修改一条数据:
update inventory.a set name = 'n4-upd' where id = 4;

控制台输出的是:

..."payload":{"before":{"id":4,"name":"n4"},"after":{"id":4,"name":"n4-upd"}..."op":"u"...
  • 删除一条数据:
delete from inventory.a where id = 1;

控制台输出的是:

..."payload":{"before":{"id":1,"name":"n1"},"after":null..."op":"d"...

这样就可以获取到被删除的数据,或者是更新前的数据啦~

 

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

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

相关文章

【解决方案】浅谈安科瑞无线测温监控系统方案

1概述 Acrel-2000T无线测温监控系统装置适用于高低压开关柜内电缆接头、断路器触头、刀闸开关、高压电缆中间头、干式变压器、低压大电流等设备的温度监测,防止在运行过程中因氧化、松动、灰尘等因素造成接点接触电阻过大而发热成为安全隐患,提高设备安…

用ChatGPT教学、科研!亚利桑那州立大学与OpenAI合作

亚利桑那州立大学(简称“ASU”)在官网宣布与OpenAI达成技术合作。从2024年2月份开始,为所有学生提供ChatGPT企业版访问权限,主要用于学习、课程作业和学术研究等。 为了帮助学生更好地学习ChatGPT和大语言模型产品,AS…

3DMAX初级小白班第一课:菜单栏介绍

基本介绍 这里不可能一个一个选项全部教给大家(毕竟之后靠实操慢慢就记住了),只说一些相对需要注意的设置。 自定义-热键编辑器-热键设置 这里有你所需要的全部快捷键 自定义-自定义UI启动布局 将UI布局还原到启动的位置 自定义-通用单…

第2章-OSI参考模型与TCP/IP模型

目录 1. 引入 2. OSI参考模型 2.1. 物理层 2.2. 数据链路层 2.3. 网络层 2.4. 传输层 2.5. 会话层 2.6. 表示层 2.7. 应用层 3. 数据的封装与解封装 4. TCP/IP模型 4.1. 背景引入 4.2. TCP/IP模型(4层) 4.3. 拓展 1. 引入 1)产…

Maven 打包时,依赖配置正确,但是类引入出现错误,一般是快照(Snapshot)依赖拉取策略问题

问题描述: 项目打包时,类缺少依赖,操作 pom.xml -> Maven -> Reload project ,还是不生效,但是同事(别人)那里正常。 问题出现的环境: 可能项目是多模块项目,结构…

postman测试导入文件

01 上传文件参数 1.选择请求方式 选择post请求方式,输入请求地址 2.填写Headers Key:Content-Type ; Value:multipart/form-data 如下图 3.填写body 选择form-data,key选择file类型后value会出现按钮&#xff0…

2023.1.17 关于 Redis 持久化 AOF 策略详解

目录 引言 AOF 策略 实例演示一 缓冲区 重写机制 手动触发 自动触发 AOF 重写流程 实例演示二 引言 Redis 实现持久化的两大策略 RDB ——> Redis DataBase(定期备份)AOF ——> Append Only File(实时备份) 注意&…

Operation

contents 服务器一、相关概念1.1 云服务器与实例1.2 关于域名解析延时与80端口1.3 关于备案1.4 关于SSL证书1.5 关于SSL证书的签发1.6 关于SSL证书的部署1.7 关于LNMP和LAMP1.8 关于bt面板 二、单服务器单一级域名多网站2.1 创建多个二级域名2.2 解析二级域名绑定到服务器上2.3…

洛谷 P1126 机器人搬重物

题目描述 机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径 1.6 米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个 NM 的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上…

数仓建设学习路线(三)元数据管理

什么是元数据? 简单来说就是描述数据的数据,更直白来说就是描述表名、表制作者、表字段、表生命周期、表存粗等信息的数据 元数据该如何管理 工具化 开源: 可通过atlas获取表依赖及信息做二次开发,或者完成可视化界面 平台化&am…

为什么单片机不能直接驱动继电器和电磁阀?

为什么单片机不能直接驱动继电器和电磁阀? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!&…

FastDFS分布式文件存储

为什么会有分布式文件系统? 分布式文件系统是面对互联网的需求而产生。因为互联网时代要对海量数据进行存储。很显然靠简单的增加硬盘个数已经满足不了我们的要求。因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等。采用…

【linux】Debian防火墙

Debian系统默认没有安装防火墙,但用户可以根据需要自行选择并安装一个防火墙以增强系统安全性。 一、查看Debian 桌面系统的防火墙是否关闭 在Debian及其他基于Linux的桌面系统中,防火墙功能通常是由iptables或nftables规则集控制的,而ufw&…

pikachu验证码绕过第三关攻略

打开pikachu靶场第三关: 挂上代理,随便输入账户密码: 返回bp。进行放包发现显示token错误。 每一次登录的返回包会带有token相关数据用于下一次的登录认证: 进行替换token值: 替换完成开始进行检点的爆破:…

【Python时序预测系列】基于Holt-Winters方法实现单变量时间序列预测(源码)

一、引言 Holt-Winters是一种经典的时序序列预测方法,用于对具有季节性和趋势性的数据进行预测。在这种方法中,使用三个组件来建模时序数据:趋势(Trend)、季节性(Seasonality)和残差&#xff0…

点亮流水灯

目录 1.water_led 2.tb_water_led 50MHZ一个周期是20ns,0.5秒就是20ns0.02um0.00002ms0.000_00002s。0.5/0.000_00002s25_000_000个时钟周期,表示要从0计数到24_999_999 LED灯是低电平点亮,前0.5秒点亮第一个LED灯,当检测到脉冲信号点亮第二…

Flutter 滚动布局:sliver模型

一、滚动布局 Flutter中可滚动布局基本都来自Sliver模型,原理和安卓传统UI的ListView、RecyclerView类似,滚动布局里面的每个子组件的样式往往是相同的,由于组件占用内存较大,所以在内存上我们可以缓存有限个组件,滚动…

【RT-DETR有效改进】 | 主干篇 | EfficientViT高效的特征提取网络完爆MobileNet系列(轻量化网络结构)

前言 大家好,我是Snu77,这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进,内容持续更新,每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本,同时修改内容也支持Re…

【算法与数据结构】377、LeetCode组合总和 Ⅳ

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题明面上说是组合,实际上指的是排列。动态规划排列组合背包问题需要考虑遍历顺序。 d p …

Mermaid使用教程(绘制各种图)

Mermaid使用教程(绘制各种图) 文章目录 Mermaid使用教程(绘制各种图)简介饼状图简单的例子应用案例 序列图简单案例应用案例另一个应用案例 甘特图简单案例应用案例一个更为复杂的应用案例 Git图简单案例 总结 简介 本文将主要介…