Я использую ESPER CEP для обработки потоков данных о погоде в реальном времени.У меня есть сценарий использования, когда я делаю пакет из потоков, используя length_batch, т.е. AvgWeatherEvent.win:length_batch(5), и вызываю мою однорядную функцию для получения среднего.
Мои запросы ESPER:
// Create my Event
String createEventExpAvg = "@EventRepresentation(objectarray) create schema AvgWeatherEvent as (prop1 Map)";
// My Select query with single row function
String expr = "select transpose(compute_avg(f)) from AvgWeatherEvent.win:length_batch(5) as f"
Где compute_avg - моя однорядная функция, вычисляющая среднее значение.
Проблема в том, что запрос вызывает мою однорядную функцию 5 раз (это размер пакета, который я упоминал в length_batch).Это ожидаемое поведение?Из-за этого я получаю несколько дублированных строк в моем выводе.Насколько я понимаю, она должна вызывать функцию только один раз, когда batch_size становится равным 5.
Есть ли способ решить эту проблему?