Как пакетировать события в 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

Другие вопросы по тегам