当我设置TumblingProcessingTimeWindows.of(Time.milliseconds(100)))
时,窗口可以正确生成。我在这里打印windowStartTime和windowEndTime:enter image description here
但是,如果我将间隔改为Time.milliseconds(50)
,则窗口之间的间隔不精确为50ms。我的意思是窗口不连续。结果显示如下:enter image description here
我想知道是否有一个最小的时间间隔TumblingProcessingTimeWindows
,我们可以设置在flink中,例如。100ms。如果我想生成一个更短的,我可以通过重写WindowAssigner
函数来实现吗?谢谢。
2条答案
按热度按时间yqyhoc1h1#
如果吞吐量不足以更快地填充网络缓冲区,那么您需要将网络缓冲区超时设置为小于默认值(100 ms)的值,例如,
字符串
或者你可以在flink-conf.yaml中设置
execution.buffer-timeout.interval
,例如,型
有关详细信息,请参阅文档。
whhtz7ly2#
没有最小窗口大小(除了> 0)。但是如果没有收到带有该窗口时间戳的事件,则不会创建任何窗口。所以我的猜测是,对于较短的窗口,您偶尔会得到一个50 ms的时间段,而无论您使用的是什么键值,都没有数据。