2017-05-03 5 views
0
私は次のクエリを持って

WSO2 CEPストリームCount関数再開

from stream1 
select count() as item insert into newStream; 

それはストリームのcount()関数を再起動することは可能ですか?

もしそうでない場合は、どうすればこの問題を回避できますか?可能なら。

答えて

2

count()などの集計関数をウィンドウなしで使用すると、そのアグリゲータ内に蓄積されるイベントをリセットすることはできません。たとえば、以下のようなウィンドウを使用すると、10個のイベントを受信した後にカウンタがリセットされます。

from stream1#window.lengthBatch(10) 
select count() as item insert into newStream; 

しかし、あなたは、次のdocumentationで説明するように、独自のカスタム集計関数を記述する必要があり、それには(すなわちcount(bool reset))のパラメータを送信することにより、カウンタをリセットする必要がある場合。

+0

私は現在ウィンドウを使用しています。 stream1からの作成#window.time(5分)itemとしてのcount()の選択isnert into newStream;今は最初の5分間だけです。連続時間ウィンドウではありません。 – JoaoFilipeClementeMartins

+0

ウィンドウ '時間'は連続しています。これは、指定された時間に最後のwindowTime期間に到着したイベントを保持するスライド時間ウィンドウで、イベントの到着と終了ごとに更新されます。 イベントを5分ごとに処理する場合は、バッチとしてwindow 'timeBatch'を使用する必要があります。これは、windowTime期間中に到着したイベントを保持し、windowTimeごとに更新されるバッチ(転倒)時間ウィンドウです。 ドキュメントを参照してください:https://docs.wso2.com/display/CEP420/Inbuilt+Windows –

関連する問題