我试着解决简单的任务: 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中的数据可以存活更长时间,时间窗口不对齐。
也许我失踪了。有什么建议? 感谢
答案 0 :(得分:0)
要解决此问题,您可以尝试以下方法:
由于在这种情况下时间戳将是全局的,并且所有外部时间窗口都将根据它们运行,因此这应该可以正常工作。