为什么length_batch多次调用 ESPER CEP 查询中的单行函数



我正在使用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)

最新更新