0
WSO2 CEP自定义函数不能作为聚合函数工作,而是对每行数据进行操作。WSO2 CEP自定义函数不起作用聚合函数
可以说我们在输入流中有value1和value2。
- 主机:A,值1:1,值2:10
- 主机:A,值1:2,值2:20
- 主机:A,值1:3,值2:30
- 主机: A,值1:4,值2:40
- 主持人:A,值1:5,值2:50
现在我已经做了东道国的时间配料和分组。 并写了一个自定义函数,它可以找到MEDIAN,并且还可以使用内置函数SUM。
但是它的作用是在分组后对所有5行应用SUM函数,但是自定义函数是逐行调用的。 自定义函数类中的进程方法逐行调用。 因此SUM返回15,但我的MEDIAN函数给出的输出为50,这只是最后一个值2。
执行计划查询
from inputStream#window.timeBatch(10 sec)
select value1 as value1, value2 as value2, sum(value1) as sumOfValue1, custom:median(value2) as medianOfValue2 group by host
insert into outputStream;
自定义功能的Java类片段
/**
* Method called when sending events to process
*
* @param obj
* @return
*/
@Override
protected Object process(Object obj) {
我们不能有一个自定义的聚合函数,或者自定义函数只应该被执行逐行依据?