Process Function
This documentation is for an unreleased version of Apache Flink. We recommend you use the latest stable version.

処理関数 #

ProcessFunction #

ProcessFunctionは低レベルのストリーム処理オペレーションで、全ての(非周期)ストリーミングアプリケーションの基本構成要素へのアクセスを提供します。

  • イベント (ストリーム要素)
  • 状態 (耐障害性、一貫性、キー付けされたストリーム上のみ)
  • タイマー (イベント時間および処理時間。キー付けされたストリーム上のみ)

ProcessFunctionはキー付け状態とタイマーにアクセスできるFlatMapFunctionとkg萎えることができます。入力ストリームで受信したイベントごとに呼び出されてイベントを処理します。

ProcessFunctionの概念と使用方法の詳細については、Process Functionを参照してください。

タイマーの実行動作 #

Pythonのユーザ定義関数は、JVMで実行されるFlinkのオペレータとは別のPythonプロセスで実行され、ProcessFunctionで行われたタイマー登録リクエストは非同期でJavaオペレータに送信されます。 タイマー登録リクエストを受信すると、Javaオペレータはそれを背後にあるタイマーサービスに登録します。

登録されたタイマーがすでに現在時刻(処理時間タイマーの場合は現在のシステム時間)をすでに過ぎている場合は、そのタイマーがすぐにトリガーされます。

非同期処理の特性により、タイマーが実際の時間よりも少し遅れてトリガーされる場合があることに注意してください。 例えば、登録された処理時間タイマー10:00:00は、実際には10:00:05に処理される可能性があります。

inserted by FC2 system