窗口分配器-window()方法


.window()方法定义一个窗口,然后基于这个窗口进行操作

注意 :window()方法必须在keyBy之后才能使用

  1. .keyBy(_._1) //按照二元组的第一个元素(id)分组
  2. .window(TumblingEventTimeWindows.of(Time.seconds(15))) //滚动时间窗口

不同类型窗口创建(Scala版)


滚动时间窗口(tumbling time window)

//简写

.timeWindow(Time.seconds(15))

滑动时间窗口(Sliding Windows)

//简写

.timeWindow(Time.seconds(15),Time.seconds(5))

会话窗口(Session Windows)

没有简写方式,只能使用底层

.window(EventTimeSessionWindows.withGap(Time.minutes(10)))

滚动计数窗口(tumbling time window)

//简写

.countWindow(10)

滑动计数窗口(Sliding count Windows)

.countWindow(10,2)