尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
FlinkSQL 处理 binlog:changelog 的三种处理方式
「我的数据空间」实时计算实践笔记 · Flink SQL 系列使用 Flink 临时表使用 DDL 声明 对应的 schema 和 formatCREATETABLEKafkaSource(idVARCHAR,countBIGINT,changelogBOOLEAN)with(topictopic_ods_order_event,connectorkafka,formatbinlog,binlog.with-changelogtrue,properties.bootstrap.serverskafka-bootstrap:9092,scan.startup.modelatest-offset);说明:changelog 是一个固定的字段名 用于表示消息的属性, true代表增加 false代表删除, changelog必须在 ‘connector.with-changelog’ true’时才会生效 否则chanlog会被当作一个普通字段 如果原始的mysql表中不包含这个changelog字段则会报错.如果原始表中已经存在了changelog这个字段且设置了changelog字段 changelog字段会优先作为消息的属性信息而不是原始的字段 为避免冲突可以设置 ‘connector.changelog-name’ ‘xxx’ 来修改用于存放changelog的字段名.除去changelog之外还支持获得binlog的其他属性字段名说明配置参数配置字段名changelogbinlog的消息属性‘connector.with-changelog’‘connector.changelog-name’offsetbinlog的offset‘connector.with-offset’‘connector.offset-name’binlogTimebinlog产生的时间‘connector.with-timestamp’‘connector.timestamp-name’changelog的常用处理方式:3.1 直接过滤掉删除的记录SELECT*FROMKafkaSourceWHEREchangelogtrue;这种情况只适合于没有主键删除的情况 只需要处理add的消息即可.3.2 将changelog字段作为普通字段处理SELECTid,LAST_VALUE(count),LAST_VALUE(changelog)FROMKafkaSourceGROUPBYid;在FlinkSQL这一层不处理changelog而是将changelog当作普通字段来处理 并写入到下游系统 由下游的系统来处理.原始数据:0001,1,true0001,2,true0001,2,false经过处理之后0001,1,true-0001,2,true0001,2,true-0001,2,false0001,2,false经过以上的处理 最终 0001 2 false这条记录会被写入到最终的sink表.典型应用场景:binlog数据实时导入到iceberg中:CREATETABLEKafkaSource(idVARCHAR,countBIGINT,changelogBOOLEAN)with(topictopic_ods_order_event,connectorkafka,formatbinlog,binlog.with-changelogtrue,properties.bootstrap.serverskafka-bootstrap:9092,scan.startup.modelatest-offset);insertintoiceberg_catalog.dw.dwd_orderselectevent_guidasguid,event_typeastypefromKafkaSourcegroupbyevent_guid,event_type;本文收录于「我的数据空间」技术库——一套可私有化部署的数据平台(数据集成 / 实时计算 / 数据湖 / 湖仓查询 / 智能问数)。
RELATED

相关推荐

后端开发入门避坑指南:从基础到工程化的实用建议

后端开发入门避坑指南:从基础到工程化的实用建议

凌晨一点半,服务器日志里Latency曲线的尖峰像一把刀,扎在刚从睡梦中被报警短信惊醒的脑子里。这不是段子,是无数后端开发新人的成人礼。很多人以为后端开发的痛苦来自于算法太难或框架太新,其实都不是。真正的痛苦,来自…

📅 2026/10/8 17:32:06
只是“平台说、设备听”:从GB/T 28181规范看SmartGBD语音广播的完整实现

只是“平台说、设备听”:从GB/T 28181规范看SmartGBD语音广播的完整实现

在GB28181设备接入项目中,实时视频点播往往最先受到关注:设备注册成功、平台发起INVITE、终端上传音视频,似乎就完成了主要功能。但在移动执法、应急指挥、机器人巡检、园区调度和工业远程运维等场景中,仅仅“看见现场”远远不够。…

📅 2026/10/8 17:28:41
078、ACT动作分块Transformer:CVAE架构与机器人精细操作

078、ACT动作分块Transformer:CVAE架构与机器人精细操作

078、ACT动作分块Transformer:CVAE架构与机器人精细操作 调试ACT模型的时候,我盯着示教轨迹和预测轨迹的对比曲线,发现了一个让人抓狂的现象:模型在关节空间里预测的动作序列,前20个时间步跟真实轨迹贴合得近乎完美,但从第25步开始,预测值就像喝醉了酒一样开始漂移,到…

📅 2026/9/9 11:49:35
MORE NEWS

更多资讯

📰

不依赖大模型:基于知识图谱的心理咨询智能问答系统构建

简介:面向计算机相关毕设与课程设计场景,这份基于知识图谱的心理咨询智能问答系统项目包提供完整可运行的Python源码、知识图谱脚本和项目说明文档,适合毕设或有实战需求的学习者直接使用。压缩包内含2000个文件,以1804个py源码文…

📰

SpringBoot+Vue健康饮食推荐系统毕设实战

简介:本资源是一套面向计算机专业本科生的Java全栈毕业设计实战项目,聚焦智能健康饮食场景,专为毕设选题、课程设计及Java全栈能力提升者打造。项目采用SpringBootVue前后端分离架构,覆盖用户管理、饮食推荐、营养分析、食谱生成等…

📰

基于DQN的无人艇避障控制:MATLAB实现与避坑指南

简介:这份资源面向无人艇(USV)控制、深度强化学习入门与课程设计人群,聚焦基于DQN的避障控制问题。包内提供无人艇与巡逻艇的运动学建模脚本、DQN训练主流程、经验回放与目标Q值计算、奖励函数设计、ε-greedy策略及模糊集合等模块…

📰

中国天气网数据采集实战:免费接口解析与Python自动化抓取

简介:基于Visual Studio 2008开发的中国天气网数据获取工程源码,专为.NET初学者和需要集成天气信息的桌面应用开发者准备。源码演示了从API调用、HTTP请求封装、响应读取到结果解析的完整处理链路,覆盖实时天气、预报查询等常见需求&#xff…

📰

贪心算法在建筑抢修任务调度中的应用与实践

1. 项目背景与问题定义"建筑抢修"这个题目让我想起了十年前参与过的一个工业厂房紧急维修项目。当时我们团队需要在72小时内完成一栋危房的加固改造,那种与时间赛跑的紧张感至今记忆犹新。这道题目本质上考察的是在资源有限条件下的最优决策能力——就像现…

📰

光谱建模校正集与验证集划分:SPXY、KS、RS算法对比与Python实现

简介:这份资源聚焦机器学习建模中校正集与验证集的样本划分问题,面向本科、硕士及科研人员进行教研学习使用。包内提供SPXY算法、KS算法与RS算法三种经典划分策略的Matlab实现,可用于光谱分析、近红外建模、回归预测等需要合理拆分训练与测试…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬