Databricks アセット バンドルでのアーティファクト設定の定義
この記事では、 Databricks Asset Bundle でアーティファクトの設定をオーバーライドする方法について説明します。 「Databricks アセット バンドルとは」を参照してください。
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: 複数のアーティファクト・マッピングで定義された競合するアーティファクト設定
この例では、トップレベルのartifacts
マッピングとtargets
内のartifacts
マッピングの両方でpath
定義されています。この例では、targets
のartifacts
マッピングのpath
が最上位の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",
"...": "..."
}
},
"...": "..."
}