1

我们可以在 wso2 cep 执行计划中有如下条件语句吗?

from stream1
select distinct attr1
insert into newStream1;

from stream2
select distinct attr2
insert into newStream2;

if

count(attr1) == count(attr2)

then 

-- do something

else 

-- do something else

用例说明:

假设我有执行计划,它从 3 个不同的流中获取数据。流 1 提供来自设备 1 的数据,来自设备 2 的流 2,......等等。

我已经在数据库中存储了一个表,其中存储了设备总数。在这种情况下,它存储 3 个设备。

现在在执行计划中,我获得了 5 分钟窗口的数据。在这 5 分钟内,只有当我从所有 3 个流中获取数据时,才应该处理数据。否则不应该。

如果在 5 分钟窗口内我只从 2 个流中获取数据,那么执行计划应该丢弃它。

4

1 回答 1

0

您可以使用过滤器来实现此用例。添加一个带有“if”部分的过滤器的查询,然后添加另一个在过滤器中具有“else”条件的查询。您可以使用这些查询的输出分别进行不同类型的处理。您可以将查询链用于复杂场景。

于 2014-10-06T09:01:31.893 回答