Databricks アセット バンドルで成果物の設定を定義する
この記事では、Databricks アセット バンドルの成果物の設定をオーバーライドする方法について説明します。 Databricks アセット バンドルとは何ですかを参照してください。
Azure Databricks バンドル構成ファイルでは、最上位レベルの artifacts
マッピングの成果物設定を、targets
マッピングの成果物設定でオーバーライドできます。次に例を示します。
# ...
artifacts:
<some-unique-programmatic-identifier-for-this-artifact>:
# Artifact settings.
targets:
<some-unique-programmatic-identifier-for-this-target>:
artifacts:
<the-matching-programmatic-identifier-for-this-artifact>:
# Any more artifact settings to join with the settings from the
# matching top-level artifacts mapping.
最上位レベルの artifacts
マッピングと同じアーティファクトの targets
マッピングの両方でアーティファクト設定が定義されている場合は、targets
マッピングの設定が最上位レベルの artifacts
マッピングの設定よりも優先されます。
例 1: 最上位の成果物マッピングでのみ定義された成果物の設定
これが実際にどのように機能するかを示すために、次の例では、成果物のすべての設定を定義する最上位レベルの artifacts
マッピングで path
が定義されています (簡潔にするために省略記号は省略記号は省略されたコンテンツを示します)。
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
# ...
この例の databricks bundle validate
を実行すると、結果のグラフは次のようになります。
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_package",
"...": "..."
}
},
"...": "..."
}
例 2: 複数の成果物マッピングで定義されたアーティファクト設定の競合
この例では、path
は最上位レベルの artifacts
マッピングと targets
の artifacts
マッピングの両方で定義されています。 この例では、最上位レベルの artifacts
マッピングの path
よりも、targets
の artifacts
マッピングの path
が優先され、成果物の設定が定義されます (簡潔にするために省略記号は省略されたコンテンツを示します)。
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
targets:
dev:
artifacts:
my-artifact:
path: ./my_other_package
# ...
この例の databricks bundle validate
を実行すると、結果のグラフは (簡潔にするために省略記号は省略されたコンテンツを示します)。
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_other_package",
"...": "..."
}
},
"...": "..."
}