github开源项目
flink-note
的笔记。本博客的实现代码写在项目的flink-window/src/main/java/com/wxwmd/window/windows/keyed/SessionWindow.java
文件中。
项目github地址: github
项目gitee地址:gitee
会话窗口(Session Windows)
会话窗口的 assigner 会把数据按活跃的会话分组。 与滚动窗口和滑动窗口不同,会话窗口不会相互重叠,且没有固定的开始或结束时间。 会话窗口在一段时间没有收到数据之后会关闭,即在一段不活跃的间隔之后。 会话窗口的 assigner 可以设置固定的会话间隔(session gap)或 用 session gap extractor 函数来动态地定义多长时间算作不活跃。 当超出了不活跃的时间段,当前的会话就会关闭,并且将接下来的数据分发到新的会话窗口。
代码运行效果
打开socket端口,运行代码,在端口中逐次输入:
bob,LOGIN,1654688058
burg,LOGIN,1654688060
bob