我使用apachestorm的滑动窗口技术来获取24小时窗口长度和1小时滑动间隔长度的数据。当第一个tuplewindow到达时,tuplewindow中的每个元组都会启动一个聚合过程。
我的聚合过程等待下一个tuplewindow到达。一旦tuplewindow到达,聚合过程就开始并消耗大量的源代码。我想知道ApacheStorm是否有能力实时发送数据(不要等到窗口的最后一项到达)。在这种情况下,我可以实时聚合所有内容
有什么配置吗?
谢谢
我使用apachestorm的滑动窗口技术来获取24小时窗口长度和1小时滑动间隔长度的数据。当第一个tuplewindow到达时,tuplewindow中的每个元组都会启动一个聚合过程。
我的聚合过程等待下一个tuplewindow到达。一旦tuplewindow到达,聚合过程就开始并消耗大量的源代码。我想知道ApacheStorm是否有能力实时发送数据(不要等到窗口的最后一项到达)。在这种情况下,我可以实时聚合所有内容
有什么配置吗?
谢谢
1条答案
按热度按时间oug3syen1#
现在没有办法在窗口触发之前增量计算聚合。storm允许您访问自上一个窗口(window.getnew)以来到达的新事件以及自上一个window.getexpired以来过期的事件。您可以使用它来优化聚合计算,方法是在窗口触发时仅计算增量。
另一种方法是使用计数基滑动间隔在每个“n”事件之后触发窗口,以保持必须处理的事件可管理,然后使用类似的方法。