我有一个用例,其中我正在接收包含不同信息集的事件流,并希望对它们执行聚合。对于这些聚合中的每一个,都需要多个翻转窗口,例如:每日、每周、每月、每年等
。聚合最初是所见计数的基本添加,但后来可能是跨这些事件的一些分析/连接处理。因此,如果一个事件 A 每天发生一次,另一个事件 B 每周发生一次,结果将是这样的:
Daily
A: 1
B: 1 (Only for the day it was received)
Weekly
A: 7
B: 1
Monthly
A: 30 (30 day month)
B: 4 (5 in some cases)
Yearly
A: 365
B: 52 (53 in some cases)
用例仅围绕翻滚窗口而不是滑动窗口,我正在研究如何实现此用例。主要问题是我不想等到窗口结束并希望每 10 分钟左右继续接收更新。
我看了一下 flink,我们可以通过一些方法来做到这一点,例如使用 ProcessWindow 函数、增量聚合、流切片、广播状态等,但是由于我对 flink 还很陌生,所以我不完全确定要做什么使用,如果有任何我遗漏的陷阱。
如果有人可以帮助我,那就太好了。