我们可以在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个流中获取数据,那么执行计划应该丢弃它。
答案 0 :(得分:0)
您可以使用filters来实现此用例。使用包含' if'的过滤器添加查询。部分,然后是另一个具有' else'过滤条件。您可以使用这些查询的输出分别执行不同类型的处理。您可以在复杂场景中使用查询链。