2016-06-22 28 views
0

Ich habe Probleme beim Verdauen der Ergebnisse meiner Gruppe durch Abfrage. Meine Quelle Strom genannt intermediateStream hat DatenSiddhi Abfrage: Gruppe nach Ergebnissen

 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 

SIDDHI Abfrage ist

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

I-Ausgang erwarten wie

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

zu sein, aber stattdessen gibt es

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

Irgendwelche Vorschläge?

Antwort

0

Siddhi verarbeitet Ereignisse in Echtzeit, wann und wie sie ankommen. So erhalten Sie im gegebenen Szenario count = 1 für die zweite Eingabe, da dies das einzige Ereignis mit ts = 2016-05-08 09:00 unter den bisher eingetroffenen ist. Wenn das 3. Ereignis eintrifft, erhalten Sie count = 2, da auch das vorherige Ereignis denselben ts-Wert hatte.
Um die gewünschte Antwort zu erhalten, verwenden Sie das Zeitbatchfenster, in dem Sie warten können, bis die angegebene Zeit verstreicht, bevor Sie eine Ausgabe ausgeben.
(d.h. von intermediateStream # window.timeBatch (1 min))