Sharing Context Between Tasks in Databricks Workflows - The Databricks Blogの翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
Databricksワークフローは、複雑なインフラストラクチャを管理する必要なしに、複雑なデータパイプライン、MLパイプラインを容易に構築・管理できるようにするDatabricksによるフルマネージドサービスです。
ある時には、ETLやMLパイプラインのタスクは上流のタスクの出力に依存することがあります。例としては、機械学習モデルのパフォーマンスを評価し、モデルのメトリクスに基づいてモデルを再トレーニングするかどうかを判断するということが挙げられます。これらは2つの分離したステップであるため、この作業を行うためには分離したタスクを持つことがベストと言えます。これまでは、前段のタスクがDeltaテーブルなどジョブの文脈外でこの情報を保持し、アクセスする必要がありました。
Databricksワークフローでは、タスクから小規模の値を設定、取得するシンプルなAPIである「タスクバリュー」という新機能を導入します。今では、タスクは出力値を後段のタスクから参照することができ、より表現力のあるワークフローを構築することが容易となります。また、ジョブの実行履歴を参照すると、DAG(有向非巡回グラフ)とタスクレベルでタスクによって引き渡される値が表示されるのでより詳細な文脈を確認することができます。タスクバリューはDatabricks Utilities APIを通じて設定、参照することができます。
実行履歴では、「evaluate_model」というタスクが値を出力したことが示されています
タスクをクリックすると、タスクによって出力された値を確認できます
タスクバリューは正式公開されています。この新機能を試していただき、我々がこのオーケストレーションをさらに改善できるようにフィードバックをお待ちしています!