Hi sparklelj, Global window 的是所有相同的 key 的元素会在一个 window里,它没有 window end,所以需要自己实现 custom trigger 来触发 window 的计算[1]。 它属于 keyed window,并不是只能有一个 window 实例( windowAll 只有一个 window 实例)。 所以看下是不是用法有错误呢,你的 ‘ StreamToBatchWindow’ 类是继承了哪个接口的?
[1] https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/stream/operators/windows.html#global-windows Best, Hailong Wang 在 2020-11-20 01:19:09,"j l" <sparkl...@gmail.com> 写道: >您好,我在看global window的时候有一些疑问,首先是global >window是全局唯一的,也就是所以的元素都会流到这一个window实例上,这样的话前面加keyBy还有什么意义呢?反正都要流到一个window里面,我测试的结果好像也确实是这样,我自定义了一个global >window,然后设置了process的并行度,但是window确实是只有一个 >示例如下: > >dataUnion.keyBy(0).window(new StreamToBatchWindow()).process(new >StreamToBatchProcess()).setParallelism(20).print(); > >如果是这样的话,这个window岂不是成了瓶颈?不知道我理解的对不对,我是希望能多一些窗口对不同的key stream做global >window的处理。 >另外一个就是global window会为每个key维护一个状态,这样如果key不断增加岂不是要爆了?怎样才能清除永远不会再出现的key的状态呢? > >谢谢!