表中的综合输出与Siddhi WSO2流处理器

时间:2018-03-01 13:45:55

标签: wso2 siddhi wso2sp

我在Siddhi(WSO2流处理器)中有以下查询,当我发送10个事件流(ABC为4个事件,CDE为6个事件)时,我试图通过县获得最终总和。但是,通过下面的查询,我得到了表中前一个事件总和的所有10条记录(总共我看到表中的10条记录)。

我的预期输出应如下:

ABC 13456 34521
CDE 23789 65342

请帮助我在表格中输入最终条目,而不是所有10个条目。

Siddhi查询:

partition with (county of TIVStream ) 
begin     
from TIVStream     
select county, sum(tiv_2011) as Sum2011 , sum(tiv_2012) as Sum2012    
insert events into TIV  
end; 

谢谢你, 迪夫亚

1 个答案:

答案 0 :(得分:1)

上面你需要的是一种收集事件的窗口。在siddhi中有各种窗口类型主要分为两种,即长度和时间窗口。对于上面的用例,它应该是一个批处理窗口,您可以使用timeBatch。请参阅[1]了解文档。

尝试以下,

partition with (county of TIVStream ) 
begin     
   from TIVStream#window.timeBatch(5 sec)     
   select county, sum(tiv_2011) as Sum2011 , sum(tiv_2012) as Sum2012    
   insert events into TIV  
end; 

以上将假设所有10个事件都在5秒内到达。

[1] https://wso2.github.io/siddhi/documentation/siddhi-4.0/#partition