私は、2番目のイベントがx秒以内に最初のイベントに従わなかった場合に状態を変更する必要があるシナリオを持っています。例えば、ユーザーが100分でログアウトしなかった場合、彼は無効な状態にあると考えます。どのようにこれは現在のパターン操作を使用して設計できますか?Apache Flink CEPパターン操作がNOT followBy
4
A
答えて
2
これはできません。解決策は、定義された時間ウィンドウから外れるのでイベントシーケンスが破棄されるたびにトリガされるタイムアウトハンドラを持つことです。すでにtimeout handler実装を追跡するJIRAの問題があります。
1
これは既に実装されているので、私はここで回答を探している人たちにこの質問に答えようと考えました。あなたのCEPパターンは、このようなものであれば
FLINK 1.0.0のように、これは、例えば、TIMEDOUTパターンを処理して行うことができます。
例の一部Flink Websiteからから(1.2の間でいくつかの主要な変更はありおよび1.3に応じてコードを調整してください、この答えは1.3に焦点を当てて)
パターンの説明: - 10秒以内に「重要な」タイプの2つ目のイベントイベントに続いて、タイプ「エラー」の最初のイベントを取得します
Pattern<Event, ?> pattern = Pattern.<Event>begin("start")
.next("middle").where(new SimpleCondition<Event>() {
@Override
public boolean filter(Event value) throws Exception {
return value.getName().equals("error");
}
}).followedBy("end").where(new SimpleCondition<Event>() {
@Override
public boolean filter(Event value) throws Exception {
return value.getName().equals("critical");
}
}).within(Time.seconds(10));
PatternStream<BAMEvent> patternStream = CEP.pattern(inputStream, pattern)
DataStream<Either<String, String>> result = patternStream.select(new PatternTimeoutFunction<Event, String>() {
@Override
public String timeout(Map<String, List<Event>> map, long l) throws Exception {
return map.toString() +" @ "+ l;
}
}, new PatternSelectFunction<Event, String>() {
@Override
public String select(Map<String, List<Event>> map) throws Exception {
return map.toString();
}
});
この場合、ユーザーが100分後にログアウトしないと、対応するイベントが到着しないため、パターンがタイムアウトになり、部分イベント(開始イベント)が発生します。 PatternTimeoutFunctionに取り込まれます。
関連する問題
- 1. Apache Flinkでのグローバルソート
- 2. Apache Flinkの並列度
- 3. Apache Flinkからのデータの照会
- 4. UnitOfWorkのパターンとアトミック操作
- 5. WSO2 CEP
- 6. FLINKストリームNoSuchMethodError:org.apache.flink.api.common.ExecutionConfig.setRestartStrategy
- 7. FlinkのカスタムWindowsチャージ
- 8. Apache Flinkは障害後にトリガータイマーを復元しますか?
- 9. Kafka - > Flink DataStream - > MongoDB
- 10. 参照方法はApache Flink 1.0.0でサポートされていますか?
- 11. jQuery(anti-)パターン:文字列操作でセレクタを構築する
- 12. LEA操作が
- 13. は、私は問題なく(1 JobManagerといくつかのTaskManagers付き)のApache FLINKのインストールをスタンドアロンのフローを展開することができFLINK CLI
- 14. が観測(angular2)内のデータを操作するためのパターン何
- 15. Apache FlinkでRiak CSを使用することはできますか?
- 16. 私の流れの新しい変更をApache Flinkクラスタにデプロイするには?
- 17. FlinkでWindowedStreamのカスタム操作を実行するにはどうすればよいですか?
- 18. Apache/mod_sslは2層操作をサポートできますか?
- 19. apache spark DataFrame操作jsonファイルを読み取る
- 20. Apache Pig:グループ操作後の名前空間接頭辞(::)
- 21. Apache nutch:解析する前にDOMを操作する
- 22. WSO2 CEPでJMS Receiverを作成できません
- 23. WCF:Svcutilが無効なクライアントプロキシ、Apache AXIS Webサービス、オーバーロード操作を生成します
- 24. 何の操作アトミック操作
- 25. FLINKは3つのparams
- 26. Spark to Flink並列化メソッド
- 27. WSO2 CEP拡張ML(協調フィルタリングあり)
- 28. 文字列操作が
- 29. QueryDSL数字の操作が
- 30. WCF操作のパフォーマンスが