0

2 つのストリームがstreamAありstreamBます。それぞれにstreamAID があり、一致するイベントにstreamBは同じ ID があります。

たとえば、1 分間のスライディング ウィンドウの後、streamAどの ID からの 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 は null になります。したがって、streamC を消費する別のクエリを記述して、null 属性を持つイベントを分離し、さらに処理することができます。

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

于 2016-05-30T12:24:25.800 に答える