0

我正在尝试使用 siddhi 查询语言,但似乎我在滥用它。

我有一些带有以下 streamdef 的事件:

{  'name':'eu.ima.stat.events',  'version':'1.1.0',  'nickName': 'Flux event Information',  'description': 'Details of Analytics Statistics',  'metaData':[          {name:'HostIP','type':'STRING'}  ],  'correlationData':[          {name:'ProcessType','type':'STRING'},          {name:'Flux','type':'STRING'},          {name:'ReferenceId','type':'STRING'}  ],  'payloadData':[          {'name':'Timestamp','type':'STRING'},          {'name':'EventCode','type':'STRING'},          {'name':'Type','type':'STRING'},          {'name':'EventInfo','type':'STRING'}  ]}

我只是想使用这样的查询过滤具有相同进程值和相同通量值的事件:

from myEventStream[processus == 'SomeName' and flux == 'someOtherName' ]
insert into someStream
processus, flux, timestamp

每当我尝试此操作时,都不会生成任何输出。当我摆脱过滤器

from myEventStream
insert into someStream
processus, flux, timestamp

我所有的事件都在输出中。

我的查询有什么问题?

4

2 回答 2

0

我可以在您的查询中看到一些拼写错误...在过滤器中,您使用了一个名为“processus”的变量名,它不在事件流中。这就是为什么这个查询没有给出任何输出。当您在 WSO2 CEP 中创建存储桶时,请确保存储桶在 CEP 服务器中正确部署并在管理控制台中检查。(CEP 存储桶 --> 列表)。

就你的情况。由于配置错误,bucket 将不会被部署,并且在 CEP 服务器运行的终端中也会打印错误消息。更正此错误后,您的查询将完美运行,没有任何问题...

问候,莫汉

于 2013-03-14T07:40:33.340 回答
0

考虑到 Mohan 的回答,重命名“ProcessType”或像这样更改您的查询

from myEventStream[ ProcessType == 'SomeName' and flux == 'someOtherName' ]
insert into someStream
ProcessType, flux, timestamp
于 2017-09-25T01:32:38.520 回答