用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.mzph.cn/news/641199.shtml

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

相关文章

“智赋校园 无忧运营”——聚铭网络2024高校客户沙龙圆满举办

随着信息技术的迅猛发展,高校教育行业正经历着一场前所未有的数字化转型。然而,网络安全问题日益凸显,对高校的教学、科研和管理带来了巨大的挑战。在此背景下,聚铭网络特举办了以“智赋校园 无忧运营”为主题的2024高校客户沙龙&…

搜索与图论第六期 最短路问题

前言 最短路问题真的很重要很重要希望大家都能够完全掌握所有最短路算法!! 一、最短路问题的分类 Dijkstra: Dijkstra算法是一种著名的图算法,主要用于求解有权图中的单源最短路径问题。它由荷兰计算机科学家艾兹赫尔戴克斯特…

Go 入门

1. hello,world hello,world hello,world 经典示例 package main import "fmt" func main() { fmt.Println("你好,Go") } Go 基础知识Go 是编译型的语言Go 的工具链将程序的源文件转变成机器相关的原…

小红书达人推广模式有哪些,品牌投放策略总结

小红书是一个以种草为核心的平台,而品牌方进行种草时,就需要依托达人的力量。今天我们和大家分享下小红书达人推广模式有哪些,品牌投放策略总结! 一、小红书达人推广模式有哪些 1. 明星种草 这种小红书达人推广模式,依…

BioXCell--RecombiMAb anti-mouse CTLA-4 (CD152) (LALA-PG)

9D9-CP008单克隆抗体是原始9D9单克隆抗体的重组嵌合型抗体。可变结构域序列与原始9D9克隆号相同,但是恒定区序列已经从小鼠IgG2b变为小鼠IgG2a。9D9-CP008单克隆抗体在Fc片段中也含有LALA-PG突变,使其无法与内源性Fcγ受体结合。 9D9-CP008单克隆抗体能与…

vue封装接口

目录 封装接口前缀 配置逻辑 接口存放文件 配置代理 获取数据方法 封装接口前缀 config.js const serverConfig {baseURL: "https://xxx.xxxxxxxx.com/api", // 请求基础地址,可根据环境自定义useTokenAuthorization: false, // 是否开启 token 认证};export …

【手写数据库toadb】02 开发数据库内核准备阶段-git工具使用

git工具使用 开发环境 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,…

langchain中的Document类

在Langchain-Chatchat的上传文档接口(upload_docs)中有个自定义的docs字段,用到了Document类。根据发现指的是from langchain.docstore.document import Document。本文简要对Document类进行介绍。 1.上传文档接口upload_docs def upload_d…

检测到目标SSL证书已过期怎么回事?

在浏览网站时,有时会遇到一个警告,提示目标SSL证书已过期。这是一个令人担忧的信号,意味着网站的安全性可能存在问题。那么,为什么会出现目标SSL证书过期的情况?我们该如何应对呢? 首先,我们需要…

LCD-LMD-PSO-ELM的电能质量分类,LCD特征提取,LMD特征提取,粒子群算法优化极限学习机

目录 背影 极限学习机 LCD-LMD-PSO-ELM的电能质量分类,LCD特征提取,LMD特征提取,粒子群算法优化极限学习机 主要参数 MATLAB代码 效果图 结果分析 展望 完整代码下载链接:LCD-LMD-PSO-ELM的电能质量分类,LCD特征提取,LMD特征提取,粒子群算法优化极限学习机资源-CSDN文库…

【C语言进阶】预处理详解

引言 对预处理的相关知识进行详细的介绍 ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》 🎈跟着猪巴戒,一起学习C语言🎈 目录 引言 预定义符号 #define定义常量 #define定义宏 带有副作用的宏参数 宏替换的规则 …

理解LSTM一种递归神经网络(RNN)

1 递归神经网络结构 一个简单的传统神经网络结构如下图所示: 给他一些输入x0,x1,x2 … xt, 经过神经元作用之后得到一些对应的输出h0,h1,h2 … ht。每次的训练,神经元和神经元之间不需要传递任何信息。 递归神经网络和传统神经网络不同的一个点在于&am…

Linux 网络传输学习笔记

这篇是混合《Linux性能优化实战》以及 《Wireshark网络分析就这么简单》的一些关于Linux 网络的学习概念和知识点笔记 ,主要记录网络传输流程以及对于TCP和UDP传输的一些影响因素 Linux 网络传输流程 借用一张倪朋飞先生的《Linux性能优化实战》课程中的图片 接收流…

利用STM32CubeMX和keil模拟器,3天入门FreeRTOS(2.1) —— 任务挂起和恢复

前言 (1)FreeRTOS是我一天过完的,由此回忆并且记录一下。个人认为,如果只是入门,利用STM32CubeMX是一个非常好的选择。学习完本系列课程之后,再去学习网上的一些其他课程也许会简单很多。 (2&am…

SpringBoot整合FreeMarker

FreeMarker FreeMarker 是一个模板引擎&#xff0c;可以将模板与数据结合生成文本输出。以下是 Java FreeMarker 常用的语法及示例&#xff1a; 输出变量值 使用 ${} 输出变量值&#xff0c;如&#xff1a; ${user.name}条件判断 使用 <#if> 和 <#else> 进行条…

IDEA内置HTTP CLIENT

使用IDEA进行HTTP测试两种方法&#xff1a; a. 在controller层的方法中点击小地球跳转&#xff08;因为方法上带有RequestMapping注解&#xff0c;IDEA识别到这是一个handler&#xff09; b. 在全局任意位置新建右键新建一个HTTP Request&#xff0c;即自动新建一个测试文件。每…

Windows 下ffmpeg安装及实践

Windows 下ffmpeg安装及实践 背景安装实践其他 背景 最近负责音频文件处理相关的业务&#xff0c;涉及到 ffmpeg 对一些音频文件格式的校验&#xff0c;记录一下安装过程及踩坑过程。 安装 如图1所示&#xff0c;进入官网&#xff0c;在windows下任选一个文件&#xff1a;h…

C# 创建多线程的函数

C#中&#xff0c;创建子线程与Task任务相比&#xff0c;能够循环执行特定操作&#xff0c;可以用于长期监听TCP消息&#xff0c;发送心跳等。 本文对C#的多线程简单封装一下&#xff0c;哎&#xff0c;以方便线程的创建和命名。 文章目录 多线程定义应用 多线程 定义 using S…

git如何导出提交记录及修改的文件清单?

导出git提交日志及修改文件 # 所有人的提交记录 git log --pretty=format:"%ai,%an:%s" --since="10 day ago" >> ~/Desktop/commit10.log#某一个人的提交记录 git log --pretty=format:"%ai,%an:%s" --since="30 day ago" |

基于核极限学习机的回归分析,基于极限学习机的预测

目录 背影 极限学习机 基于核极限学习机的回归分析 主要参数 MATLAB代码 效果图 结果分析 展望 完整代码下载链接:(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88768798 背影 极限学习机是在BP神经网络上改进的一种网络,拥有无…