wso2 CEP使用不同的时间窗口多次查询

时间:2017-01-03 16:59:30

标签: wso2 wso2cep

我想在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的查询。

1 个答案:

答案 0 :(得分:0)

据我所知,你已经弄明白了(也就是说,通过使用4个查询,每个查询都有一个窗口)是实现你的要求的唯一可行方法。

根据Siddhi language,在查询中在线定义窗口。根据您的要求,您需要四个窗户;因此你需要写四个查询。