news 2026/4/16 9:09:35

Flink BlackHole SQL Connector /dev/null 式“吞数据”Sink,压测与验证的神器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flink BlackHole SQL Connector /dev/null 式“吞数据”Sink,压测与验证的神器

1. 最小可用 DDL

CREATETABLEblackhole_table(f0INT,f1INT,f2 STRING,f3DOUBLE)WITH('connector'='blackhole');

写入:

INSERTINTOblackhole_tableSELECTf0,f1,f2,f3FROMsome_table;

你会发现:作业在跑、吞吐很高、但没有任何外部输出(这就是它的目的)。

2. LIKE 方式:快速把某张表“替换成黑洞”

调试/压测时经常想把某个 sink 暂时换掉:

CREATETABLEblackhole_sinkWITH('connector'='blackhole')LIKEsource_table(EXCLUDINGALL);

然后把原来的INSERT INTO real_sink ...改成写入blackhole_sink,就能立刻判断:

  • 性能瓶颈是不是外部系统(把外部 IO 去掉后吞吐是否暴涨)
  • SQL/UDF 本身是否有问题(不受外部写入失败干扰)

3. 和 Print 的区别:一个“看数据”,一个“只测性能”

  • Print:把每行写到 Task 日志,适合看数据形态、RowKind、字段值;但日志 IO 会很重
  • BlackHole:完全不输出,适合压测、跑通链路、测算子性能上限

经验用法:

  • 先用Print在小流量下确认结果正确
  • 再切BlackHole做大流量压测,看吞吐/背压/CPU/GC

4. 经典压测组合:DataGen → SQL → BlackHole

用 DataGen 造数据,上游无限流,sink 用 blackhole 吞掉,测你这段 SQL 的极限吞吐:

CREATETABLEgen_src(idBIGINT,scoreINT,name STRING)WITH('connector'='datagen','rows-per-second'='50000','fields.id.kind'='sequence','fields.id.start'='1','fields.id.end'='1000000000','fields.score.min'='0','fields.score.max'='100','fields.name.length'='20','fields.name.var-len'='true');CREATETABLEbh_sink(idBIGINT,scoreINT,name STRING)WITH('connector'='blackhole');INSERTINTObh_sinkSELECTid,score,nameFROMgen_srcWHEREscore>=50;

这套非常适合你用来验证:

  • filter / projection / UDF / join / agg 哪个最吃 CPU
  • 调高rows-per-second后是否出现背压(sink 不会是原因)

5. 生产/排障小建议(很实用)

  • 定位外部 sink 瓶颈:real sink → blackhole,如果吞吐立刻上去,问题大概率在外部系统或 sink 配置(bulk、flush、并发、重试等)
  • 评估 SQL 复杂度成本:blackhole 下仍然跑不动,说明计算本身(UDF/聚合/Join/state)就是瓶颈
  • 不要指望它验证数据正确性:它不会输出任何记录,正确性要靠 Print / 结果表 / 指标来验证
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 19:18:36

怎么查国外研究文献:实用方法与技巧指南

刚开始做科研的时候,我一直以为: 文献检索就是在知网、Google Scholar 里反复换关键词。 直到后来才意识到,真正消耗精力的不是“搜不到”,而是—— 你根本不知道最近这个领域发生了什么。 生成式 AI 出现之后,学术检…

作者头像 李华
网站建设 2026/4/12 9:40:07

基于S7-1200-PLC的农作物自动灌溉控制系统的设计与调试(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于S7-1200-PLC的农作物自动灌溉控制系统的设计与调试(设计源文 件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码 西门子plc1200, [1]不是ai文章写手原创,拍下留下qq邮箱看到会发 [2]报告lun文、仅说明书成品无程…

作者头像 李华
网站建设 2026/4/13 7:08:41

开题报告不用改 N 遍!虎贲等考 AI 一键解锁导师认可的研究蓝图

开题报告作为学术研究的 “敲门砖”,是无数科研新手的第一道难关:选题太泛被批 “缺乏创新”,文献综述堆砌无逻辑,技术路线图像 “迷宫”,熬了几个通宵写的初稿,还得反复修改格式…… 别再让开题报告拖慢你…

作者头像 李华
网站建设 2026/4/9 9:40:54

教育平台如何配置CKEditor实现Word批注内容完整导入?

要求:开源,免费,技术支持 编辑器:ckeditor 前端:vue2,vue3.vue-cli 后端:asp,java,jsp,springboot,php,asp.net,.net core 功能:导入Word,导入Excel,导入PPT(PowerPoint),导入PDF,复制粘贴word,…

作者头像 李华
网站建设 2026/4/12 9:33:24

好写作AI:导师总说“逻辑不通”?让AI当你的论文“首席结构官”!

各位写论文写到后面忘了前面、感觉段落像一群各自为政的散兵游勇、最终被导师一句“逻辑链条断裂”无情击穿的同学们,请举手!是不是经常觉得:每个字都认识,每句话都通顺,但拼在一起,连自己都说不清到底想论…

作者头像 李华
网站建设 2026/4/11 18:11:20

基于S7-200组态王3泵变频恒压供水系统设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于S7-200组态王3泵变频恒压供水系统设计 本设计包括设计报告,PLC程序,组态仿真,I/O接口,带注释程序pdf版,接线图,控制电路图,主电路图272 系统功能: PLC控制变频恒压供水系统关键是主要有变频…

作者头像 李华