我使用Apache Storm的滑动窗口技术来获取24小时窗口长度和1小时滑动间隔长度的数据。当第一个TupleWindow到达时,TupleWindow中的每个元组都会开始一个聚合过程。
我的聚合过程一直等到下一个TupleWindow到达。一旦TupleWindow到达,聚合过程就会开始并消耗大量的资源。 我想知道如果Apache Storm能够实时发送数据(不等到窗口的最后一个项目到达)。在这种情况下,我可以实时汇总所有内容
是否有任何配置?
由于
答案 0 :(得分:1)
现在,在窗口触发之前无法逐步计算聚合。 Storm允许您访问自上一个窗口(Window.getNew)以来到达的新事件以及自上一个窗口Window.getExpired以来过期的事件。您可以使用此方法通过在窗口触发时仅计算增量来优化聚合计算。
另一种选择是使用计数基础滑动间隔在每个&n;'之后触发窗口。事件,以保持您必须处理的事件可管理,然后使用类似的方法。