Как пакетировать события в Esper на основе общего свойства
Я пытаюсь собрать кучу событий из временного окна на основе соответствующего свойства (пользователь). Скажем, например, следующие события проходят через esper за 1 секунду:
Пользователь | файл
A | a1.sys
A | a2.inf
A | a3.sys
Б | b1.sys
Б | b2.sys
A | a4.sys
Б | b3.inf
Я хочу пакетировать события по пользователю и выводить следующие 2 группы событий:
Выход 1
A | a1.sys
A | a2.inf
A | a3.sys
A | a4.sys
Выход 2
Б | b1.sys
Б | b2.sys
Б | b3.inf
Ключевым моментом является то, что эти группы должны выводиться как коллекция, а не один вывод для каждого события. Мне нужно эмулировать тип ответа, который я получу от запроса ниже (где события a, b и c возвращаются как коллекция):
SELECT * FROM pattern[every a -> b -> c]
Я просто не могу понять, как сформировать такой запрос. Я попробовал следующее, но это не объединяет события в один.
select * from ActivityEvent().std:groupwin(User).win:time_batch(5)
1 ответ
Есть окно выражения пакета, которое может сравнивать события и выпускать пакеты. Это описано в [1]. [1] http://esper.codehaus.org/esper-5.0.0/doc/reference/en-US/html_single/index.html