首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wso2 CEP ::"select“子句错误中的聚合函数

wso2 CEP ::"select“子句错误中的聚合函数
EN

Stack Overflow用户
提问于 2016-03-03 04:30:09
回答 2查看 60关注 0票数 1

我正试图在wso2 2的CEP中写一份执行计划。但是,如果使用聚合函数,则select子句中会出现错误。在我的例子中,它是“和”。详情请参阅下文:

代码语言:javascript
复制
@Export('stream.sla.consolidated.breach:1.0.0')
define stream ConsolidatedBreachSLA (breach_date string, breach_count_per_day int,request_id int);

@Export('stream.sla.breach.details:1.0.0')
define stream BreachSLA (request_id int, breach_date string, breach_flag int);

from BreachSLA#window.length(50)
select breach_date as breach_date,sum(breach_flag) as breach_count_per_day,request_id
group by breach_date
having breach_count_per_day > 2
insert into ConsolidatedBreachSLA;

CEP误差

但是,当我从select子句中删除"sum“时,一切似乎都得到了正确的验证。

代码语言:javascript
复制
from BreachSLA#window.length(50)
select breach_date as breach_date,breach_flag as breach_count_per_day,request_id
group by breach_date
having sum(breach_count_per_day) > 2
insert into ConsolidatedBreachSLA;

其目的是获取select子句中记录的和,以便可以将sum的值导出到发布服务器。

EN

回答 2

Stack Overflow用户

发布于 2016-03-03 05:01:00

和函数返回一个长值 (用于int或长输入),而属性'breach_flag‘则定义为int。似乎已经用int属性定义了流,因此会发生冲突,您需要将定义的流的(ConsolidatedBreachSLA和任何后续流)属性类型(即breach_count_per_day类型)修改为'long‘以获得和。

票数 1
EN

Stack Overflow用户

发布于 2016-03-04 05:29:03

拉吉夫对冲突的看法是对的。

我用这个问题尝试了不同的东西,我尝试了“转换”函数,它起了作用。

所以我把我的Siddhi查询改为

从BreachSLA#window.length(50)中选择breach_date,转换(sum(Breach_flag),'int')作为breach_count_per_day组,由breach_date将breach_count_per_day >2插入BreachCountDay;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35763219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档