0

我有两个流,streamA并且streamB. 每个streamA都有一个 ID,并且匹配的事件streamB将具有相同的 ID。

我想知道在1 分钟的滑动窗口之后streamA哪些 ID 没有进入。streamB

我试过这个,但没有成功:

from streamA as A join streamB#window.time(1 min) as B on A.id == B.id select S.Id insert expired events into streamC;

让我知道如何解决这个问题。

4

1 回答 1

0

您可以使用外部联接[1] 来满足此要求。前任:

from streamA as A left outer join streamB#window.time(1 min) as B on A.id == B.id select A.Id, B.Id insert into streamC;

在上面的查询中,如果窗口内没有匹配的事件,B.Id 将为空。因此,您可以编写另一个查询来使用 streamC 以隔离具有空属性的事件并进一步处理它们。

[1] https://docs.wso2.com/display/CEP410/SiddhiQL+Guide+3.0#SiddhiQLGuide3.0-Outerjoins

于 2016-05-30T12:24:25.800 回答