2017-04-03 13 views
0

WSO2 CEP Siddhi QLにはかなり新しく、ストリームに来るイベントを分析する必要があります。 EXのためにWSO2 CEP:Siddhi QL:同様のイベントレコードを持つ一意のストリームを作成する

:私は、データは次のように入ってくるしている[ID、値]:この中

InputStream=[1001,90] 
InputStream=[1001,85] 
InputStream=[1002,70] 
InputStream=[1001,85] 
InputStream=[1003,70] 
InputStream=[1003,85] 
InputStream=[1002,70] 
InputStream=[1003,70] 
InputStream=[1003,85] 
InputStream=[1002,70] 
InputStream=[1001,95] 
InputStream=[1001,65] 

、私はID 1001、1002年と1003年の記録に基づいて、各レコードとグループを分離し、作成したいですIDのそれぞれの新しい一時ストリームがグループ化され、その中の最高値がチェックされ、それが警告されます。異なるパターンと結合を試みましたが、正確な解決策にはゼロインできませんでした。

解決策への助力/助言は非常に高く評価されます。ありがとうございました。

答えて

0

Siddhiでは、イベント値に基づいて新しいストリームを作成することはできません。ただし、IDに基づいてグループを作成し、各グループの最高値を警告するという要件があるためです。 1つの出力ストリームでこれを達成することができました。私たちがしなければならないことは、期間(時間または長さのウィンドウ)を維持し、idでグループ化してmax(temp)を選択してアラートストリームに挿入することです。次のサンプルのsiddhiクエリを参照してください。

from TempStream#window.time(2 min) 
select max(temp) as highestTemperature 
group by id 
insert into alertStream; 
+0

Tharikありがとうございます。これから私が見ているのはSiddhiです。試してみてください。入力と同じレコードのストリームが作成されています。私たちは属性別にグループを提供していますが、グループ化は起こりません。 入力ストリームから各イベントの値を使って一時ストリームを作成できないと言っていますか?つまり、上記のサンプルを1001,1002などのレコードを含むイベントと区別できないということですか? – Kannan

関連する問題