3

我使用 WSO2 CEP v4.1.0 创建了带有风暴支持的简单执行计划。但是当我在 Siddhi 中使用窗口设施时,它会给出一些例外。并且它也不可能使用风暴将表与流连接起来。我该如何解决这个问题?有没有其他选择。

执行计划

@Plan:name('ExecutionPlan')

@Import('InputStream:1.0.0')
define stream InputStream (id string, param1 int, param2 double, param3 string, param4 string, param5 string, param6 string, param7 string);

@Export('outputStream:1.0.0')
define stream OutputStream (id string, param3 string);

@From(eventtable = 'rdbms' , datasource.name = 'MYSQL' , table.name = 'cep') 
define table cepTable (id string, param1 int, param2 double, param3 string, param4 string, param5 string, param6 string, param7 string);

@name('query1') 
@dist(parallel='8', execGroup='Filtering')
from InputStream#window.time(1 sec)
select id as id, param3 as param3  
insert into OutputStream;

CEP 给出的错误

异常:指定的分布式查询无效,转换为 XML 风暴查询计划时出错。执行计划:ExecutionPlan 租户:-1234。部署查询时出错:@name('query1') @dist(parallel='8', execGroup='Filtering') from InputStream#window.time(1 sec) select id as id, param3 as param3 insert into OutputStream 并行有对于窗口、连接和模式查询为 1。

4

1 回答 1

2

当查询包含窗口、连接或模式时,查询的并行度不能大于 1。这是因为当状态分布在多个螺栓上时,无法正确处理此类查询。

但是,如果您使用分区,则窗口和模式查询的并行度可以大于 1,因为一旦分区,每个分区就成为一个独立的处理单元,可以在不同的螺栓上独立执行。请参阅此示例以更好地了解此类分区查询。

于 2016-05-12T08:54:23.107 回答