Builtin Watermark Generators
This documentation is for an unreleased version of Apache Flink. We recommend you use the latest stable version.

組み込みのウォーターマークジェネレータ #

ウォーターマークの生成で説明されたように、Flinkは、プログラマが独自のタイムスタンプを割り当てて発行できる抽象化を提供します。より具体的には、WatermarkGeneratorインタフェースを実装することでこれを行うことができます。

このようなタスクのプログラミング作業をさらに簡単にするために、Flinkにはいくつかの事前実装されたタイムスタンプアサイナーが付属しています。このセクションでは、それらのリストを提供します。すぐに使える機能とは別に、その実装は独自実装の例として役立ちます。

単調に増加するタイムスタンプ #

周期的なウォーターマークの生成の最も簡単な特別な実例は、特定のソースタスクで見られるタイムスタンプが昇順で発生する場合です。この場合、以前のタイムスタンプは到着しないため、現在のタイムスタンプが常にウォーターマークとして機能します。

タイムスタンプが並列データソースタスクごとに昇順であることのみが必要であることに注意してください。例えば、あるセットアップでKafkaのパーティションが1つの並行データソースインスタンスによって読まれる場合、タイムスタンプが各Kafkaパーティション内で増加することだけが必要です。Flinkのウォーターマークのマージの仕組みは、並行ストリームがシャッフル、統合、接続あるいは合併されるたびに正しいウォーターマークを生成します。

WatermarkStrategy.forMonotonousTimestamps();
WatermarkStrategy.forMonotonousTimestamps()
WatermarkStrategy.for_monotonous_timestamps()

一定量の遅延 #

定期的なウォーターマークの生成の他の例は、ウォーターマークがストリーム内で見つかる最大(イベント時間)タイムスタンプから一定時間遅れる場合です。この例はストリーム内で遭遇するかもしれない最大の遅延が前もって知られている場合のシナリオです。例えば、タイムスタンプを持つ要素を含む独自のソースの生成がテストのために一定の時間の間広がる場合です。これらの事例のために、Flinkは引数maxOutOfOrdernessを取るBoundedOutOfOrdernessWatermarksを提供します。つまり、指定されたウィンドウの最終結果を計算する時に、要素が無視される前に許容される遅延の最大時間。遅延は、t - t_wの結果に対応し、ここでtは要素の(イベント時間)で、t_wは以前のウォーターマークです。lateness > 0の場合、要素は遅れていると見なされ、デフォルトでは対応するウィンドウのジョブの結果を計算する時に無視されます。遅延要素の操作の詳細については、allowed latenessに関するドキュメントを参照してください。

WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(10));
WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(10))
WatermarkStrategy.for_bounded_out_of_orderness(Duration.of_seconds(10))

Back to top

inserted by FC2 system