Фильтрация по предыдущим событиям в Сиддхи - PullRequest
0 голосов
/ 20 сентября 2018

Можно ли определить, произошло ли предыдущее событие перед текущим в Сиддхи?Я пытаюсь сделать что-то вроде «отправить предупреждение, если Y произошло после X».Я получил обратный результат этой работы (отправка оповещения, если Y произошел, когда X никогда не происходило) с запросом, подобным следующему:

from s1=inStream[value == 'Y'] and  
    not inStream[value == 'X'] 
    select s1.person  
    insert into outStream  

, и надеялся, что я смогу заставить свой предполагаемый запрос работатьпросто удалив «не», однако это не сработало.

1 Ответ

0 голосов
/ 21 сентября 2018

Используйте следующий запрос

from s1=inStream[value == 'X'] -> s2= inStream[value == 'Y'] 
select s1.person, s2.person   
insert into outStream;  

Если вы хотите ограничить время между X и Y (что всегда рекомендуется), используйте

from s1=inStream[value == 'X'] -> s2= inStream[value == 'Y'] within 10 min
select s1.person, s2.person   
insert into outStream;  
...