これは嬉しいエンハンス。
これまでにも、依存するタスクの成功・失敗に基づいて判断を行う Run if
の判定機能がありましたが、これにさらに機能が追加される形になります。ジョブやタスクのパラメーター変数やタスクバリューに基づいて処理を切り替えることができます。
早速動かしてみます。
ノートブックの準備
ノートブックを3つ用意します。
最初のノートブックではタスクバリューgender
に値を設定します。
dbutils.jobs.taskValues.set(key = 'gender', value = 'Male')
タスクバリューの値に応じて呼び出されるノートブックを二つ用意します。
print("男性です")
print("女性です")
ジョブの設定
ジョブを構成します。最初のノートブックをタスクとして追加します。
タスクを追加して、一番下に表示されるif/else condition
を選択します。
判定ロジックを記述します。タスクバリューは{{tasks.<タスク名>.values.<タスクバリューのキー>}}
でアクセスできます。
呼び出されるノートブックをタスクとして追加します。True/Falseのどちらに接続するのかは依存先で選択します。
ジョブの実行
ジョブを実行します。実行結果からどのフローが実行されたのかを簡単に確認できます。
ノートブックstart
を編集します。
dbutils.jobs.taskValues.set(key = 'gender', value = 'Female')
これまで以上にジョブで柔軟にロジックを構成することができます。是非ご活用ください!