web-dev-qa-db-ja.com

Airflowでタスクをスキップする方法は?

Airflowがアドホック実行のDAGでタスクのスキップをサポートしているかどうかを理解しようとしていますか?

DAGグラフが次のようになっているとしましょう:task1> task2> task3> task4

そして、DAGをtask3から手動で開始したいのですが、それを行う最良の方法は何ですか?

私はShortCircuitOperatorについて読みましたが、実行がトリガーされたときに適用できるアドホックソリューションを探しています。

ありがとう!

5
Maayan

Apache Airflowの構築方法から、実行するタスクを決定するロジック/ブランチを記述できます。

[〜#〜]しかし[〜#〜]

間にあるタスクからタスク実行を開始することはできません。順序は依存関係管理(上流/下流)によって完全に定義されます。

ただし、セロリオペレーターを使用している場合は、実行中のすべての依存関係を無視して、必要に応じてタスクを実行するようairflowに要求できます。繰り返しになりますが、これは上流のタスクがスケジュールされることを妨げません。

0
Tameem

はい、タスク3をクリックするだけです。実行ボタンの右側にあるチェックボックスを切り替えて依存関係を無視し、[実行]をクリックします。

enter image description here

0

マーヤン、非常に汚いが非常にシンプルで最も明白な解決策があります。実質的に30秒。ただし、PRODでコードを簡単に更新でき、他のユーザーがDAGを実行するのを一時的に防ぐことができる場合にのみ可能です。スキップしたいタスクにコメントするだけ

'#task1> task2>

task3> task4

より深刻な解決策ですが、より多くの努力で、おそらくstart_from_taskのパラメーターに基づいてDAGを動的に作成し、この場合、依存関係はこのパラメーターを使用して構築されます。パラメータは、UIでAdmin ==> Variablesメニューを使用して変更できます。前の変数のエクスポート時間の別の変数を使用することもできます。例えば-DAGはタスク1とタスク2を14:05:30まで無視し、その後はDAG全体を実行します。

0
Saar Porat