Siddhi 查询:按结果分组
Siddhi Query : group by results
我在按查询消化我的组的结果时遇到了问题。我名为 intermediateStream
的源流有数据
ts uid id_resp_h
2016-05-08 08:59 CLuCgz3HHzG7LpLwH9 172.30.26.119
2016-05-08 09:00 C3WnnK3TgUf2cSzxVa 172.30.26.127
2016-05-08 09:00 C3WnnK3TgUf2cSzxff 172.30.26.119
SIDDHI 查询是
from intermediateStream
select ts, count(ts) as ssh_logins
group by ts
insert into SSHOutStream;
我希望输出像
ts ssh_logins
2016-05-08 08:59 1
2016-05-08 09:00 2
而是 returns
ts ssh_logins
2016-05-08 08:59 1
2016-05-08 09:00 1
2016-05-08 09:00 2
有什么建议吗?
Siddhi 在事件到达时实时处理事件。因此,在给定的场景中,第二个输入的计数 = 1,因为这是迄今为止到达的事件中唯一具有 ts=2016-05-08 09:00 的事件。当第 3 个事件到达时,您得到 count=2,因为前一个事件也有相同的 ts 值。
要获得所需的答案,请使用时间批处理 window,它允许您在给出输出之前等待指定的时间过去。
(即来自 intermediateStream#window.timeBatch(1 分钟))
我在按查询消化我的组的结果时遇到了问题。我名为 intermediateStream
的源流有数据
ts uid id_resp_h
2016-05-08 08:59 CLuCgz3HHzG7LpLwH9 172.30.26.119
2016-05-08 09:00 C3WnnK3TgUf2cSzxVa 172.30.26.127
2016-05-08 09:00 C3WnnK3TgUf2cSzxff 172.30.26.119
SIDDHI 查询是
from intermediateStream
select ts, count(ts) as ssh_logins
group by ts
insert into SSHOutStream;
我希望输出像
ts ssh_logins
2016-05-08 08:59 1
2016-05-08 09:00 2
而是 returns
ts ssh_logins
2016-05-08 08:59 1
2016-05-08 09:00 1
2016-05-08 09:00 2
有什么建议吗?
Siddhi 在事件到达时实时处理事件。因此,在给定的场景中,第二个输入的计数 = 1,因为这是迄今为止到达的事件中唯一具有 ts=2016-05-08 09:00 的事件。当第 3 个事件到达时,您得到 count=2,因为前一个事件也有相同的 ts 值。
要获得所需的答案,请使用时间批处理 window,它允许您在给出输出之前等待指定的时间过去。
(即来自 intermediateStream#window.timeBatch(1 分钟))