Flink如何组合两扇Windows?

zzoitvuj  于 2021-06-21  发布在  Flink
关注(0)|答案(0)|浏览(179)

我有一个流-我想比较当前窗口和前一个窗口中的事件数。
这可以通过保持窗口中事件的数量不变来实现 globalState 做点什么链接:

class Foo [I,O] extends ProcessWindowFunction[I,O, String, TimeWindow] {
  override def process(key: String, context: Context, elements: Iterable[I], out: Collector[O]): Unit = {
    val state = context.globalState.getState(windowStateDescriptor)
if (state.value != null) {
 if(state.value > elements.size) {
 // do some out.collect
  } else {
  state.update(elements.size)
   }
 }   
 }
}

然而,我试图避免保持持久状态。有没有更好的更惯用的方法来实现这一点?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题