我想在WSO2 CEP中执行以下统计:
获取到达流中的所有事件的count()。我想在以下窗口中进行:5分钟,10分钟,30分钟,60分钟。为此,我正在执行以下代码:
from stream#window.time(5 min)
select count() as numEvents
insert into stats;
from stream#window.time(10 min)
select count() as numEvents
insert into stats;
from stream#window.time(30 min)
select count() as numEvents
insert into stats;
from stream#window.time(60 min)
select count() as numEvents
insert into stats;
这是获取此数据的正确方法吗?当我想要实现的唯一事情是增加时间窗口时,这似乎是代码的巨大复制。仅在1个查询中执行此操作是否还有其他可能性?或至少少于4的查询。
答案 0 :(得分:0)
据我所知,你已经弄明白了(也就是说,通过使用4个查询,每个查询都有一个窗口)是实现你的要求的唯一可行方法。
根据Siddhi language,在查询中在线定义窗口。根据您的要求,您需要四个窗户;因此你需要写四个查询。