2
我試圖構建一個執行計劃,它將不同的事件聚合爲一個並計算出現次數(CurrentEventId)。該計劃看起來如下:將WSO2 CEP Siddhi事件聚合到單個json對象
define stream inStream (correlation_EventName string, LastEventId int, CurrentEventId int);
partition with (CurrentEventId of inStream)
begin
from inStream#window.timeBatch(10 sec)
select correlation_EventName as meta_Label, CurrentEventId as meta_Id, LastEventId as correlation_From, CurrentEventId as correlation_To, count(CurrentEventId) as correlation_Value
insert into outStream
end;
其實,我有以下的輸出:
Event: {"event":{"metaData":{"Label":"StartCalculationEvent","Id":2},"correlationData":{"From":2,"To":2,"Value":66}}}
Event: {"event":{"metaData":{"Label":"LoginEvent","Id":1},"correlationData":{"From":1,"To":1,"Value":693}}}
我只需要一個每10秒,而不是多個事件單事件。此事件應具有以下格式:
[
{
"event":{"metaData":"..."}
},
{
"event":{"metaData":"..."}
}
]
您對如何實現這一點有了一個想法嗎?