Я использовал следующий siddhi query
, чтобы получить количество событий в минуту; ts как timestamp (string) и ftp_requests как count (int).WSO2CEP: получение предыдущего значения события из потока в запросе сиддхи
from FTPInStream[command == 'USER']
select time:timestampInMilliseconds(time:dateAdd(str:replaceAll(ts,'T',' '), 5, 'hour',"yyyy-MM-dd HH:mm:ss"),'yyyy-MM-dd HH:mm') as milliseconds , uid, id_orig_h, id_orig_p, id_resp_h, id_resp_p
insert into intermediateStream;
from intermediateStream#window.externalTimeBatch(milliseconds ,1 min, milliseconds, 1 min)
select time:dateFormat(milliseconds, 'yyyy-MM-dd HH:mm') as ts , cast(count(milliseconds), 'int') as ftp_requests
group by milliseconds
insert into FTPOutStream;
Если я хочу добавить предыдущее значение ftp_requests в каждом новом значении, чтобы получить накопительное количество запросов с каждыми новыми запросами, какие изменения будет необходим? Есть ли какая-либо функция в сиддхи, чтобы получить предыдущее значение события из потока, который уже опубликован?