1

我的意图是在 siddhi 中合并来自两个流的属性。

我正在使用带有 window 属性的“join”来合并我的 siddhi 查询中的两个流,并将连接的结果输入到另一个流中以丰富它。

当传入事件以 1 秒或更长的时间间隔出现时,窗口属性(window.time(1 sec) 或 window.length(1))效果很好。

当(例如 10 或 100 个)事件同时(在一秒钟内)发送时。那么连接的结果不是预期的。

from EventInputStreamOne#window.time(1 sec) as i
        join EventInputStreamTwo as s
        on i.variable2 == s.variable2
select i.variable1 as variable1, i.variable2 as variable2, s.variable2 as variable2
insert into EventOutputStream;

请让我知道是否有任何方法可以合并两个流,即使一次(在一秒钟内)发送的事件数量很大,也必须对传入事件进行唯一处理/处理。

4

1 回答 1

0

你能详细说明你的意思吗

那么连接的结果不是预期的。

哪个流 EventInputStreamOne 或 EventInputStreamTwo 以更高的速率接收事件。

根据您的 Siddhi 应用程序,在1 秒内到达EventInputStreamOne流的事件将与来自EventInputStreamTwo的每个事件进行比较,匹配的事件将输出到EventOutputStream

如果您想比较在 1 秒内同时到达 EventInputStreamOneEventInputStreamTwo的事件,那么EventInputStreamTwo的时间窗口也为 1 秒。

查看有关联接的 Siddhi 文档以获取更多详细信息。

于 2019-10-09T09:49:40.150 回答