0

我有一个有 7 个分区的主题。然后,我使用 faust 对主题执行流处理,在该主题上我想计算最后 10、30、60 和 300 秒的每个键的实例。我们正在使用一个窗口表来执行此操作,该表有一个跳跃的 1s 窗口,该窗口停留 301 秒,当新结果出现时,我们只需遍历表以计算每个所需时间框架的数量。可能不是最有效的方法,但它有效,并且由于没有滑动窗口选项,它是我们拥有的最好的方法。

那么问题是,当我们想要将其扩展到可能有数千条消息时,我们计划使用多个工作人员来分割工作负载,但这会导致两个单独的流,每个工作人员只能看到 1/n 的数据,所以只报告给定分区的计数。

有没有办法组合每个工人的窗口值?此外,考虑到每个工作人员可能会根据需求在需要时停止或启动,因此它需要是动态的。

我们不能强制键在同一个分区中,因为某些键会比其他键更频繁,并且您最终可能会在 3 个月内在一个分区中收到 100 条消息,而在另一个分区中则有几百万条消息。这也不是静态的,在不同的时间,不同的键会比其他键更频繁,所以没有办法提前计划。

4

0 回答 0