2016-06-22 13 views
0

クエリによるグループの結果の消化に問題があります。 intermediateStreamという名前の私のソースストリームは、データSiddhiクエリ:グループ別結果

 ts      uid    id_resp_h 
2016-05-08 08:59  CLuCgz3HHzG7LpLwH9 172.30.26.119 
2016-05-08 09:00  C3WnnK3TgUf2cSzxVa 172.30.26.127 
2016-05-08 09:00  C3WnnK3TgUf2cSzxff 172.30.26.119 

シッディクエリは、私は、出力が

 ts   ssh_logins 
2016-05-08 08:59  1 
2016-05-08 09:00  2 

ようなことを期待しています

from intermediateStream 
select ts, count(ts) as ssh_logins 
group by ts 
insert into SSHOutStream; 

ありましたしかし、その代わりに、それは

 ts   ssh_logins 
2016-05-08 08:59  1 
2016-05-08 09:00  1 
2016-05-08 09:00  2  

を返します。 助言がありますか?

答えて

0

Siddhiはイベントが到着したときにリアルタイムで処理します。したがって、与えられたシナリオでは、これまでに到着したイベントのうちts = 2016-05-08 09:00の唯一のイベントであるため、2番目の入力に対してcount = 1を取得します。 3番目のイベントが到着すると、前のイベントも同じts値を持つので、count = 2となります。
希望の回答を得るには、出力を行う前に指定された時間が経過するまで待つことができる時間バッチウィンドウを使用します。
(すなわち、中間ストリーム#window.timeBatch(1分)から)

関連する問題