我正在使用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 时,它应该只调用该函数一次。
有什么办法可以解决这个问题吗?
我认为
您正在寻找的是:
select transpose(compute_avg(window(*))) from AvgWeatherEvent#length_batch(5)