Flink 在运行时更改流窗口大小



我有一个流被 FlinkKafkaConsumer 消耗,它将被加入使用另一个流来定义窗口大小,例如时间.毫秒(10000)。

如何在运行时将窗口大小更改为时间.毫秒(20000)?

Stream1.join(Stream2) 
     .where(new SingleValueSensorKeySelector()) 
     .equalTo(new GPSKeySelector()) 
     .window(TumblingEventTimeWindows.of(Time.milliseconds(10000))) 
     .apply(joinStreamFunc).addSink(kafkaProducer);

无法在运行时更改窗口大小。

你可以做几件事,尽管两者都不是很有吸引力。您可以在某种 ProcessFunction 之上实现自己的窗口。或者,您可以复制所涉及的流,并行进行这两种窗口,然后动态控制哪个窗口的结果转到接收器。

实现自己的窗口将是一项不小的工作量,并且花费资源来计算这两组窗口听起来很昂贵。

相关内容

  • 没有找到相关文章

最新更新