3

ファイルから読み取ったストリームをフィードする非リアルタイムのEsper構成があります。ストリーム全体の統計を計算し、最後に1つの値を出力する式を作成しようとしています。たとえば、Esperには、ビューにX秒ごとに出力を強制するセマンティクスがありますが、フィードするイベントがこれ以上ないことがわかっている場合に、ビューまたはエンジンに出力を「フラッシュ」するように要求するセマンティクスがあります。

4

2 に答える 2

8

これを行うための少なくとも 1 つの方法は、変数トリガーで output 句を使用することです。

式は次のようになります。

select count(*) as totalCount from events output last when OutputSummary = true

OutputSummary 変数は次のように初期化されます。

epConfiguration.addVariable("OutputSummary", Boolean.class, "false");

フラッシュする準備ができたら、次のように変数を true に設定します。

epRuntime.setVariableValue("OutputSummary", true);
long currentTime = epService.getEPRuntime().getCurrentTime();
epRuntime.sendEvent(new CurrentTimeEvent(currentTime));

式を強制的に評価するには、別のタイム イベントを送信する必要があります。

于 2010-01-27T01:00:33.393 に答える
0

出力が 60 秒ごとに必要な場合、式は次のようになります。

select emplyee_id from employees output snapshot every 60 sec

出力が 10000 イベントごとに必要な場合、式は次のようになります。

select emplyee_id from employees output snapshot every 10000 events
于 2015-03-30T06:42:46.610 に答える