Как мне поддерживать Набор свойств событий в окне?

Можно ли создать таблицу с первичным ключом и установить в качестве вторичного столбца, который будет похож на список в значении хеш-таблицы?

что-то вроде этого:

create table T (id int primary key, list HashSet )

где список будет содержать все свойства, связанные с первичным ключом, который произошел по размеру окна.

РЕДАКТИРОВАТЬ:

Это вывод, который я получаю. Я хочу, чтобы количество уникальных вхождений достигало идентификаторов 1,2 и 3. Если событие 2 достигло 3 раз при идентификаторе 1, я все еще хочу только 1 как уникальный, а не 3

{unique=3, id=1}
{unique=3, id=2}
{unique=4, id=3}
****************

В Java это не проблема, но я не понимаю, как реализовать это в Esper. Я даже не уверен, что использование таблиц является правильным подходом.

1 ответ

Таблицы могут иметь столбцы типа агрегатного состояния. Так что "оконная" агрегация доступна. Например, вот так:

create table MyTable (id int primary key, theWindow window(*) @type(MyEvent))

into table MyTable select window(*) as theWindow from MyEvent group by id

Либо таблица может объявить столбец типа списка "создать таблицу MyTable (id int первичный ключ, somelist java.util.List)", и вы можете поддерживать список с помощью вызовов функций в EPL.

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