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

问题描述 投票:0回答:1

我正在使用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时,它应该只调用一次该函数。

有什么办法可以解决这个问题吗?

java cep esper
1个回答
0
投票

我认为你在寻找的是:

select transpose(compute_avg(window(*))) from AvgWeatherEvent#length_batch(5)
© www.soinside.com 2019 - 2024. All rights reserved.