как вывести последние 5 максимальных значений в Esper?

у меня вопрос по эсперу в java. Представьте, что у меня есть события с двумя элементами для каждого события: деньги, имя.

Что я хочу сделать, так это вывести 3 разных имени, у которых больше всего денег. Есть ли способ сделать это?

пример событий:

100,Адриен-10,Джон-15,Сэм-20,Соса-36,Николас

---> я хотел бы вывести: Адриан, Николас и Соса в этом случае. Я могу вывести только одно с максимальным (количеством), но не с определенным количеством имен (в моем случае 3).

Спасибо за вашу помощь


person benjamin steiner    schedule 01.12.2014    source источник


Ответы (1)


Esper — это потоковый движок, поэтому, когда происходит вывод, т. е. собираетесь ли вы отправлять триггерное событие, указывающее, что все события были отправлены? Или вывод происходит через 1 минуту или что вызывает вывод? Это сумма или просто ранг? Если это ранг по имени, используйте окно ранжированных данных и «выходной снимок». Или, если ваш вопрос не является потоковым анализом, вы можете просто вставить строки в именованное окно и выполнить запрос «запустил и забыл».

person user3613754    schedule 01.12.2014