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;本文收录于「我的数据空间」技术库——一套可私有化部署的数据平台(数据集成 / 实时计算 / 数据湖 / 湖仓查询 / 智能问数)。

相关新闻

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

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

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

2026/8/27 0:27:27 阅读更多 →
只是“平台说、设备听”:从GB/T 28181规范看SmartGBD语音广播的完整实现

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

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

2026/8/25 23:55:38 阅读更多 →
通义千问与即梦升级背后的工程盲区:Spring Boot 3.4 处理非结构化 AIGC 输出...

通义千问与即梦升级背后的工程盲区:Spring Boot 3.4 处理非结构化 AIGC 输出...

通义千问与即梦升级背后的工程盲区:Spring Boot 3.4 处理非结构化 AIGC 输出的解析崩溃实录上周处理一个多模态内容入库的需求时,系统突然开始大面积报错。起因是业务侧接入了阿里云通义千问最新的长文本生成能力,以及字节跳动即梦 AI 的视频…

2026/8/27 2:12:19 阅读更多 →

最新新闻

CK2dll 双字节补丁 3 步装好:让十字军之王2 正常显示中文

CK2dll 双字节补丁 3 步装好:让十字军之王2 正常显示中文

CK2dll 双字节补丁 3 步装好:让十字军之王2 正常显示中文 【免费下载链接】CK2dll Crusader Kings II double byte patch /production : 3.3.4 /dev : 3.3.4 项目地址: https://gitcode.com/gh_mirrors/ck/CK2dll 十字军之王2 一遇到中文角色名,满…

2026/8/27 2:11:57 阅读更多 →
数字电源管理实战:ADI Power Studio与Web工具链如何调通多电源轨时序

数字电源管理实战:ADI Power Studio与Web工具链如何调通多电源轨时序

电源设计做到下半场,最头疼的往往不是某一路电压调不出来,而是几十路电源轨之间的时序关系、保护策略、故障记录和实时遥测全搅在一起。早些年大家靠一摞电阻分压、几个电容调斜率,再拿示波器死盯上电瞬间;后来换成数字电源管理芯…

2026/8/27 2:11:57 阅读更多 →
YOLOv8全系列鸟类检测实战:200类细粒度识别与边缘部署

YOLOv8全系列鸟类检测实战:200类细粒度识别与边缘部署

1. 项目概述:为什么200种鸟类检测不是“堆参数”,而是工程能力的试金石 YOLOv8全系列【n/s/m/l/x】模型在鸟类检测任务上跑通,听起来像一句技术口号,但实际落地时,它背后是一整套跨尺度、跨类别、跨硬件约束的系统性工…

2026/8/27 2:11:57 阅读更多 →
任意波形发生器详解:从DDS原理到选型与实战应用

任意波形发生器详解:从DDS原理到选型与实战应用

1. 项目概述:当函数发生器不再“函数”了做硬件和嵌入式开发的朋友,对信号源这东西肯定不陌生。上学时实验室里那台能输出正弦波、方波、三角波的函数发生器,陪伴了无数人第一次调通放大器、第一次观察滤波器响应。但工作几年后你会发现&…

2026/8/27 2:11:57 阅读更多 →
MATLAB矩阵操作的隐性契约与工程避坑指南

MATLAB矩阵操作的隐性契约与工程避坑指南

1. 这不是“第二部分”的简单续章,而是矩阵操作的实战分水岭很多人点开“MATLAB矩阵的操作(第二部分)”时,心里想的是:“哦,又来复习reshape、size、diag这些基础命令?”——但如果你真这么想&a…

2026/8/27 2:11:57 阅读更多 →
AI×低代码:企业数字化转型的黄金搭档

AI×低代码:企业数字化转型的黄金搭档

最近跟几个创业圈的朋友聊天,大家不约而同都在感叹:现在做个系统,需求变得太快了!今天刚上线一个审批流程,明天又要加个数据看板。传统的开发模式,一个需求排期就得好几周,等上线了,…

2026/8/27 2:10:57 阅读更多 →

日新闻

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

2026/8/27 0:00:51 阅读更多 →
网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸…

2026/8/27 1:06:27 阅读更多 →
从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 Arduino ESP32 是乐鑫官方的 ESP32 系列 Ardui…

2026/8/27 1:06:27 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →