Flink| 第一个窗口触发时间
窗口的第一个时间窗口是如何定义的呢?查看源码:
滑动窗口:
这里的offset是用来指定时间戳的时区的,timestamp(1970年1月1号的毫秒数,默认是格林威治0时区的时间),北京时间是东八区,我们的时间比他们早8h,如果要跟他们标准时间统一的话offset应该是 -8;但在国内无所谓的,默认offset = 0。这里的windowSize是slide,上一步传进来的值(即windowSize 是滑动步长)
如果watermark = 1s, 窗口大小15s,步长5s;
比如第一个进来的事件时间的时间戳为1547718199 :
1547718199 - (1547718199 + 5) % 5 = 1547718195
即第一个window: [195, 210),但实际中到200的时间已经关了
lastStart最近的一次起点,lastStart = 195,for循环追加了好几个window:195 > 199 - 15 = 184 ---> windows.add (195, 210)
190(195-5) > 184 ----> (190,205)
185 > 184 -------> (185,200)
[195, 210)、[200, 215)、[205, 220)
滚动步长源码:
直接195开始,210结束。而滑动窗口,如上是195开始,200就第一个结束啦;
分类:
大数据技术栈 / Flink
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人