Session Windows
2021-07-03 13:06
标签:窗口 表示 分支 复杂 space 地方 窗口机制 session sign flink 目前支持3种窗口机制: 这次先了解一下session windows session 在网络中表示会话控制,有一定的生命周期,在flink里实际是用gap来控制的,gap分为 Static gaps 和 Dynamic gaps,gap内的可以合并为一个窗口,超过了gap 就认为是一次窗口结束。 windowState.setCurrentNamespace(window); 是里面的一个合并代码。 Session Windows 标签:窗口 表示 分支 复杂 space 地方 窗口机制 session sign 原文地址:https://www.cnblogs.com/guanyong/p/9893388.htmlTumbling Windows 滚动窗口
Sliding Windows 滑动窗口
Session Windows
WindowOperator 类的 processElement(StreamRecord
if (windowAssigner instanceof MergingWindowAssigner) {
// session windows
}
else {
// tumbling/sliding window
}
本质上新创建的window都要经历合并阶段,那为什么要分2种情况呢?
先讲 tumbling/sliding window 的合并机制,这种 window 是有固定的窗口时间的,所以可以通过相同的窗口时间来进行合并
windowState.add(element.getValue());
这个是窗口合并的地方,背后是相应的state的实现。
而 session windows 没有固定的时间,所以不能用上面的方法实现,背后稍微复杂点,需要一个合并的机制W stateWindow = mergingWindows.getStateWindow(actualWindow);
上一篇:C#ATM