Airflow を使用して非常に単純な ETL DAG を実行したいとします。DB2 での最後の挿入時刻をチェックし、DB1 から DB2 に新しい行があればロードします。
理解できる要件がいくつかあります。
- 1 時間ごとにスケジュールされ、最初の数回の実行は 1 時間以上続きます
- 例えば。最初の実行では 1 か月のデータを処理する必要があり、72 時間続きます。
- 2 回目の実行では最後の 72 時間を処理する必要があり、7.2 時間続きます。
- 3 番目のプロセスは 7.2 時間かかり、1 時間以内に終了します。
- それ以降は毎時実行されます。
- DAG の実行中は、次の DAG を開始せずにスキップします。
- トリガー イベントを過ぎても DAG が開始されなかった場合は、その後開始しないでください。
- 他の DAG もあり、DAG は個別に実行する必要があります。
これらのパラメーターと演算子は少しわかりにくいと思いますが、それらの違いは何ですか?
depends_on_past
catchup
backfill
LatestOnlyOperator
どちらを使用する必要があり、どの LocalExecutor を使用する必要がありますか?
Ps。すでに非常によく似たスレッドがありますが、使い尽くすことはありません。