2016-02-24 7 views
1

Использование сиддхи 3.0.3 в качестве библиотеки JavaСиддхи СЕР: Множественные результаты в группе при использовании временного окна

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

В частности,

Используя следующий запрос, без временного окна:

@info(name = 'RealTimeQuery') from MyEventStream 
select EventName as EventName, count() as Count, avg(ElapsedTime) as Avg_ElapsedTime 
group by EventName output snapshot every 30 seconds insert into CEP_Result; 

я получаю один результат на уникальный EventName, с соответствующими подсчетов и средн. Итак, в моем примере есть 15 уникальных EventNames, и каждое уникальное EventName встречается 10 раз для 150 событий. Я получаю 15 результатов, по одному для каждого EventName, каждый из которых имеет счет 10 и правильный средний показатель, как я ожидал.

Однако, если добавить окно времени для этого запроса:

@info(name = 'RealTimeQuery') from MyEventStream#window.time(2 minutes) 
select EventName as EventName, count() as Count, avg(ElapsedTime) as Avg_ElapsedTime 
group by EventName output snapshot every 30 seconds insert into CEP_Result; 

Результат для каждого EventName является правильным, так как она имеет правильное количество и среднее. Но вместо одного результата в EventName я получаю 10, в общей сложности 150 результатов.

Мы ищем замену Эспера на Сиддхи, поэтому я запускал подобные запросы через Эспер, а с Эспером в обоих случаях я получил ожидаемый результат одного результата в EventName.

ответ

2

Это может быть отсортировано с использованием временного окна [1] вместо временного окна. Окно времени - это скользящее окно, в котором он будет вычислять время окна назад от полученного события и триггера. В пакетном окне он рассчитает окно с первого прибытия события и отправит все события по истечении срока его действия. Вы можете использовать Siddhi Попробуйте [2] инструмент продукта WSO2 CEP и имитируйте события с помощью запросов Сиддхи.

[1] https://docs.wso2.com/display/CEP400/Inbuilt+Windows#InbuiltWindows-timeBatchtimeBatch

[2] https://docs.wso2.com/display/CEP400/Siddhi+Try+It+Tool

 Смежные вопросы

  • Нет связанных вопросов^_^