我目前正在处理flink中的一个问题,其中我必须计算三个不同的滑动窗口的聚合函数,这些滑动窗口的大小分别为7天、14天和1个月。据我所知,我必须运行三个不同的消费者平行具有上述窗口大小。有没有一种方法可以为一个数据流实现三个滑动窗口,全部使用一个用户代码?使用flink实现这一点的一些代码或参考是非常有用的。
我所知道的:消费者1在7天大小的滑动窗口上计算消费者2在14天大小的滑动窗口上计算,以此类推。我想要的是:consumer1为一个数据流同时计算所有这些滑动窗口。
有没有可能在Flink实现这一点?
1条答案
按热度按时间yxyvkwin1#
各个窗口可以共享一个kafka消费者生成的单个流,如下所示:
或者为了提高效率,您可以这样构造:
但是请注意,这里没有time.months(),因此如果您希望windows与月份边界对齐,我想您必须找出这一部分。