3

WSO2 CEP v4.1.0 を使用して、ストームをサポートする簡単な実行計画を作成しました。ただし、シッディでウィンドウ機能を使用すると、いくつかの例外が発生します。また、ストームを使用してストリームとテーブルを結合することもできません。これを解決するにはどうすればよいですか? それに代わるものはありますか。

実行計画

@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 Parallelism hasウィンドウ、結合、およびパターン クエリの場合は 1 になります。

4

1 に答える 1

2

クエリにウィンドウ、結合、またはパターンが含まれている場合、クエリに対して > 1 の並列処理を行うことはできません。これは、状態が複数のボルトに分散されている場合、そのようなクエリを正しく処理できないためです。

ただし、パーティションを使用すると、ウィンドウおよびパターン クエリに対して > 1 の並列処理を行うことができます。これは、パーティション化されると、各パーティションが分離された処理単位になり、異なるボルトで個別に実行できるためです。このようなパーティション分割されたクエリをよりよく理解するには、このサンプルを参照してください。

于 2016-05-12T08:54:23.107 に答える