TumblingEventTimeWindows(滚动时间窗口)和 SlidingEventTimeWindows(滑动时间窗口)开窗的解析

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

滚动时间窗口窗口之前是首尾相接的

滑动事件窗口窗口之间是有重叠的也就是说一个事件会出现在不同的窗口 

滚动时间窗口TumblingEventTime的开始结束时间是如何计算的呢一看源码便知

 红框即为窗口开窗时间

具体计算公式如下

例如给定一个时间戳1665103475窗口大小设定为15soffset默认为0

开窗时间

1665103475 - (1665103475 - 0 + 15000) % 15000  =   1665090000

结束时间 start + this.size 即1665090000 + 15000 = 1665105000

此窗口即为 1665090000 ~ 1665105000

滑动时间窗口SlidingEventTime的开始时间以及一个事件会出现在几个窗口中是如何计算的呢 

同样来看源码

一个事件出现在几个窗口的计算公式很简单黑框所示即窗口大小对滑动步长取整

滑动窗口开始时间的计算方法与滚动窗口相同但注意最后一个参数不同滑动窗口最后一个参数为slide滑动步长而滚动窗口为side窗口大小

还有一个更为重要的区别在于滑动窗口需要循环判断即红框所示当计算后的start>timestamp-this.size就需要进入循环计算得出最终滑动窗口的开始结束时间了 

 End

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: windows

“TumblingEventTimeWindows(滚动时间窗口)和 SlidingEventTimeWindows(滑动时间窗口)开窗的解析” 的相关文章