Я пытаюсь решить простую задачу: 1. Я хочу сопоставить возникновение 3 событий A, B, C, если они произошли за последние 10 секунд.
Таким образом, Siddhi поддерживает только 2 соединения в запросе, я думаю, что не смогу это решить. В документации есть предложение использовать несколько запросов и объединять их вместе, как это
from A#window.time(10 sec) as a
join B#window.time(10 sec) as b on a.id == b.id
select a.id
insert into tempA
from tempA#window.time(10 sec) as a
join C#window.time(10 sec) as c on c.id == a.id
select *
insert into finalResult
Но это приводит к неправильным результатам, потому что данные в потоке tempA могут жить дольше, временные окна не выровнены.
Может я что-то упускаю. Любой совет? Спасибо