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