Defina de forma dinámica la configuración de artefactos en agrupaciones de recursos de Databricks
En este artículo se describe cómo invalidar la configuración de los artefactos en agrupaciones de recursos de Databricks. Consulte ¿Qué son las agrupaciones de recursos de Databricks?
En los archivos de configuración de agrupación de Azure Databricks, puede unir la configuración de artefacto en una asignación de nivel superior de artifacts
con la configuración de artefacto en una asignación de targets
; por ejemplo (los puntos suspensivos indican contenido omitido, para abreviar):
# ...
artifacts:
<some-unique-programmatic-identifier-for-this-artifact>:
# Artifact settings.
targets:
<some-unique-programmatic-identifier-for-this-target>:
resources:
artifacts:
<the-matching-programmatic-identifier-for-this-artifact>:
# Any more artifact settings to join with the settings from the
# matching top-level artifacts mapping.
Si se define cualquier configuración de artefacto tanto en la asignación de nivel artifacts
superior como en la asignación targets
para el mismo artefacto, la configuración de la asignación targets
tiene prioridad sobre la configuración de la asignación de nivel artifacts
superior.
Ejemplo 1: Configuración de artefactos definida solo en la asignación de artefactos de nivel superior
Para demostrar cómo funciona en la práctica, en el ejemplo siguiente, path
se define en la asignación de nivel artifacts
superior, que define toda la configuración del artefacto (los puntos suspensivos indican contenido omitido, por brevedad):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
# ...
Cuando se ejecuta databricks bundle validate
para este ejemplo, el gráfico resultante es (los puntos suspensivos indican contenido omitido, por brevedad):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_package",
"...": "..."
}
},
"...": "..."
}
Ejemplo 2: Configuración de artefactos en conflicto definida en varias asignaciones de artefactos
En este ejemplo, path
se define en la asignación de nivel artifacts
superior y en la asignación artifacts
en targets
. En este ejemplo, path
en la asignación artifacts
en targets
tiene prioridad sobre path
en la asignación de nivel artifacts
superior, para definir la configuración del artefacto (los puntos suspensivos indican contenido omitido, por brevedad):
# ...
artifacts:
my-artifact:
type: whl
path: ./my_package
targets:
dev:
artifacts:
my-artifact:
path: ./my_other_package
# ...
Cuando se ejecuta databricks bundle validate
para este ejemplo, el gráfico resultante es (los puntos suspensivos indican contenido omitido, por brevedad):
{
"...": "...",
"artifacts": {
"my-artifact": {
"type": "whl",
"path": "./my_other_package",
"...": "..."
}
},
"...": "..."
}