eventTime+watermarker+allowedLateness到底窗口关闭时间是什么? - 实践

news/2026/1/19 9:01:37/文章来源:https://www.cnblogs.com/gccbuaa/p/19499985

结论:窗口的关闭需要带 watermarker 的时间我想使用 kafkaUI 界面发送 json 数据给 kafka,json 数据长这个样子:这个数据我是编写了一个代码生成的:编写一个 flink 读取 kafka 数据的代码这个代码中可以读取 kafka 数据,并且必须使用 evenetTime 时间语义,并且还需要有watermarker+allowedLateness开始测试:使用 kafkaUI 界面发送第一条数据:我使用时间戳转换器看一下是什么时候:https://www.beijing-time.org/shijianchuo/1764303530000 = 12:18:50 也就意味着 第一个区间是 [12:18:50,12:18:55)接着在这个区间造一些数据:

{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303531000,"uid":0}
{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303532000,"uid":0}

控制台不会有输出,因为没有触发。输入以下数据可以触发:12:18:58

{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303538000,"uid":0}

控制台输出了数据:

2025-11-28 12:18:50->2025-11-28 12:18:55->0-->141

得到了一个结论: 水印时间 (12:18:58)>= 区间结束时间 就会触发该区间的计算 【2025-11-28 12:18:50->2025-11-28 12:18:55)此时这个 【2025-11-28 12:18:50->2025-11-28 12:18:55) 区间触发了,没有关闭接着在这个区间【2025-11-28 12:18:50->2025-11-28 12:18:55)继续放入数据:

{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303533000,"uid":0}
{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303534000,"uid":0}

我们在这个里面又放入了12:18:53 12:18:54 的数据,放入一条,计算一次,放入一条计算一次,为什么?触发条件不是当前的时间-3 ,而是 最大的那个时间 -3 ,以前放的最大的事件时间是12:18:58接着造一个 结束时间+10s 的数据:

{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303545000,"uid":0}

此时触发了一个区间的运行 【2025-11-28 12:18:55->2025-11-28 12:19:00) ,我们不关系,而关系的是【2025-11-28 12:18:50->2025-11-28 12:18:55) 有没有关闭?按照以前的理解,事件时间>= 窗口的结束时间+ allowedLateness 就关闭该窗口,如何测试呢?

{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303533000,"uid":0}

发现依然输出了结果,说明 添加了allowedLateness 之后,窗口的结束时间 不是 事件时间>= 窗口的结束时间+ allowedLateness那关闭时间到底是多少?事件时间 >= 窗口结束12:18:55 + watermarker(3s) + allowedLateness(10s)接着需要造一个数据:12:19:08 秒

{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303548000,"uid":0}

发现没有任何的输出,接着测试 【2025-11-28 12:18:50->2025-11-28 12:18:55) 是否关闭:

{"money":47,"orderId":"6ce94dcefaac4106bb7b66302bb9e785","timeStamp":1764303533000,"uid":0}

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

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

相关文章

MinerU镜像优势解析:预装full依赖一键启动推荐

MinerU镜像优势解析:预装full依赖一键启动推荐 1. 背景与核心价值 在当前多模态文档理解与信息提取的实践中,PDF 文件因其复杂的排版结构——如多栏布局、嵌套表格、数学公式和图像混合内容——成为自动化处理的一大挑战。传统的文本提取工具往往难以准…

面向图像分类的自监督/对比学习辅助的知识蒸馏-类别对比蒸馏(Category Contrastive Distillation, CCD) - 详解

面向图像分类的自监督/对比学习辅助的知识蒸馏-类别对比蒸馏(Category Contrastive Distillation, CCD) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; di…

柚坛工具箱 NT 实战手册:如何高效解决 Android 开发痛点

柚坛工具箱 NT 实战手册:如何高效解决 Android 开发痛点 【免费下载链接】UotanToolboxNT A Modern Toolbox for Android Developers 项目地址: https://gitcode.com/gh_mirrors/uo/UotanToolboxNT 在 Android 开发过程中,设备管理、刷机调试、应…

艾尔登法环存档安全迁移完全指南:5分钟掌握零风险备份技巧

艾尔登法环存档安全迁移完全指南:5分钟掌握零风险备份技巧 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 还在为艾尔登法环存档管理而困扰吗?游戏版本更新导致存档丢失?设…

喜马拉雅音频资源本地化终极指南:打造永不丢失的私人听书馆

喜马拉雅音频资源本地化终极指南:打造永不丢失的私人听书馆 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 想要永久保…

WorkshopDL终极指南:3分钟学会免费下载Steam创意工坊模组

WorkshopDL终极指南:3分钟学会免费下载Steam创意工坊模组 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为无法访问Steam创意工坊而烦恼?WorkshopD…

比较好的盐城网站定制服务怎么联系?2026年专业指南 - 品牌宣传支持者

开篇:盐城网站定制行业背景与市场趋势随着数字化转型浪潮席卷全球,盐城作为江苏省重要的沿海中心城市,其企业对于专业网站定制服务的需求正呈现爆发式增长。2025年数据显示,盐城地区中小企业网站建设渗透率已达78.…

跨平台部署TTS有多简单?Supertonic镜像一键启动教程

跨平台部署TTS有多简单?Supertonic镜像一键启动教程 1. 引言:为什么需要设备端TTS解决方案? 在当前AI语音技术快速发展的背景下,文本转语音(Text-to-Speech, TTS)系统已广泛应用于智能助手、无障碍阅读、…

如何快速掌握国家自然科学基金LaTeX模板:面向科研新手的完整指南

如何快速掌握国家自然科学基金LaTeX模板:面向科研新手的完整指南 【免费下载链接】NSFC-application-template-latex 国家自然科学基金申请书正文(面上项目)LaTeX 模板(非官方) 项目地址: https://gitcode.com/GitHu…

如何将闲置电视盒子改造为专业Linux服务器:Armbian系统完整指南

如何将闲置电视盒子改造为专业Linux服务器:Armbian系统完整指南 【免费下载链接】amlogic-s9xxx-armbian amlogic-s9xxx-armbian: 该项目提供了为Amlogic、Rockchip和Allwinner盒子构建的Armbian系统镜像,支持多种设备,允许用户将安卓TV系统更…

2026年靠谱商品房装修公司排行榜,新测评精选欧式风格商品房装修推荐品牌 - 工业品牌热点

为帮业主高效锁定适配自身需求的商品房装修合作伙伴,避免选型走弯路,我们从设计落地能力(如风格还原度、功能实用性)、施工工艺水准(含标准化流程、质量管控)、全周期服务质量(覆盖前期设计到售后质保)、真实客…

Qwen3-4B-Instruct-2507隐私保护实施方案

Qwen3-4B-Instruct-2507隐私保护实施方案 1. 背景与挑战 随着大语言模型在企业服务、智能客服、内容生成等场景的广泛应用,数据隐私和安全合规问题日益突出。Qwen3-4B-Instruct-2507作为阿里开源的文本生成大模型,在提升通用能力的同时,也面…

AI工程学习路径:纸质与数字资源的最优配置方案

AI工程学习路径:纸质与数字资源的最优配置方案 【免费下载链接】aie-book [WIP] Resources for AI engineers. Also contains supporting materials for the book AI Engineering (Chip Huyen, 2025) 项目地址: https://gitcode.com/GitHub_Trending/ai/aie-book …

Lucy-Edit-Dev:文本指令轻松实现视频精准编辑

Lucy-Edit-Dev:文本指令轻松实现视频精准编辑 【免费下载链接】Lucy-Edit-Dev 项目地址: https://ai.gitcode.com/hf_mirrors/decart-ai/Lucy-Edit-Dev 导语:DecartAI团队发布开源视频编辑模型Lucy-Edit-Dev,首次实现纯文本指令驱动的…

USB通信中HID请求处理流程系统学习

深入理解HID请求处理:从USB枚举到报告交互的完整链路 你有没有遇到过这样的情况? 一个精心设计的自定义HID设备插上电脑后,系统却提示“未知USB设备”;或者报告描述符明明写好了,主机只读取了一半;又或者…

UI-TARS终极使用指南:零基础实现桌面自动化革命

UI-TARS终极使用指南:零基础实现桌面自动化革命 【免费下载链接】UI-TARS 项目地址: https://gitcode.com/GitHub_Trending/ui/UI-TARS 每天面对电脑重复点击相同的按钮、填写格式固定的表格、执行千篇一律的操作流程,你是否曾想过:这…

Midscene.js自动化测试实战:5大核心技术原理深度解析

Midscene.js自动化测试实战:5大核心技术原理深度解析 【免费下载链接】midscene Let AI be your browser operator. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 你是否曾经为跨平台自动化测试的复杂性而头疼?Midscene.js作为一…

Qwen3-4B-Instruct-2507性能基准:吞吐量与延迟测试

Qwen3-4B-Instruct-2507性能基准:吞吐量与延迟测试 1. 引言 随着大模型在实际业务场景中的广泛应用,推理服务的性能表现成为决定用户体验和系统效率的关键因素。Qwen3-4B-Instruct-2507作为通义千问系列中面向高效部署场景的轻量级指令模型&#xff0c…

N_m3u8DL-RE完全指南:从零开始掌握流媒体下载

N_m3u8DL-RE完全指南:从零开始掌握流媒体下载 【免费下载链接】N_m3u8DL-RE 跨平台、现代且功能强大的流媒体下载器,支持MPD/M3U8/ISM格式。支持英语、简体中文和繁体中文。 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE 想要…

Qwen2.5-0.5B公共安全:应急问答系统

Qwen2.5-0.5B公共安全:应急问答系统 在公共安全领域,信息响应的及时性与准确性直接关系到应急处置效率。传统人工问答系统受限于人力和知识覆盖范围,难以满足突发场景下的高并发、多语言、结构化输出需求。随着轻量级大模型技术的发展&#…