Modos de implementación de agrupaciones de recursos de Databricks
En este artículo se describe la sintaxis de los modos de implementación de agrupaciones de recursos de Databricks. Las agrupaciones permiten la administración mediante programación de flujos de trabajo de Azure Databricks. Consulte ¿Qué son las agrupaciones de recursos de Databricks?
En los flujos de trabajo de CI/CD, los desarrolladores suelen codificar, probar, implementar y ejecutar soluciones en varias fases o modos. Por ejemplo, el conjunto más sencillo de modos incluye un modo de desarrollo para la validación de preproducción, seguido de un modo de producción para entregas validadas. Las agrupaciones de recursos de Databricks proporcionan una colección opcional de comportamientos predeterminados que corresponden a cada uno de estos modos. Las implementaciones de agrupación pueden usar estos comportamientos con una declaración de modo de una sola línea, en lugar de especificar manualmente estos comportamientos predeterminados en el archivo de configuración de agrupación, y quizás olvidarse de agregar o configurar uno de los comportamientos previstos más a lo largo del proceso.
Modo de desarrollo
Para implementar la agrupación en modo de desarrollo, primero debe agregar la mode
asignación, establecida en development
, al destino previsto. Por ejemplo, este destino denominado dev
se trata como destino de desarrollo:
targets:
dev:
mode: development
La implementación de un destino de desarrollo mediante la ejecución del databricks bundle deploy -t <target-name>
comando implementa los comportamientos siguientes:
- Antepone todos los recursos que no se implementan como archivos o cuadernos con el prefijo
[dev ${workspace.current_user.userName}]
y las etiquetas de cada trabajo implementado y canalización con unadev
etiqueta de Azure Databricks. - Marca todas las canalizaciones de Delta Live Tables implementadas relacionadas como
development: true
. Vea Uso del modo de desarrollo para ejecutar actualizaciones de canalización. - Habilita el uso de
--compute-id <cluster-id>
en llamadas relacionadas al comandobundle deploy
, que invalida todas y cada una de las definiciones de clúster existentes que ya están especificadas en el archivo de configuración de agrupación relacionado. En lugar de usar--compute-id <cluster-id>
en llamadas relacionadas al comandobundle deploy
, puede establecer la asignacióncompute_id
aquí, o como una asignación secundaria de la asignaciónbundle
, en el id. del clúster que se va a usar. - Pause todas las programaciones y desencadenadores en los trabajos implementados. Reanude las programaciones y los desencadenadores de un trabajo individual estableciendo
schedule.pause_status
enUNPAUSED
. - Habilite las ejecuciones simultáneas en todos los trabajos implementados para una iteración más rápida. Deshabilite las ejecuciones simultáneas para un trabajo individual estableciendo
max_concurrent_runs
en1
. - Deshabilite el bloqueo de implementación para una iteración más rápida. Este bloqueo impide que se produzcan conflictos de implementación que es poco probable que se produzcan en modo de desarrollo. Vuelva a habilitar el bloqueo estableciendo
bundle.deployment.lock.enabled
entrue
.
Modo de producción
Para implementar la agrupación en modo de producción, primero debe agregar la mode
asignación, establecida en production
, al destino previsto. Por ejemplo, este destino denominado prod
se trata como destino de producción:
targets:
prod:
mode: production
La implementación de un destino de producción mediante la ejecución del databricks bundle deploy -t <target-name>
comando implementa los comportamientos siguientes:
Valida que todas las canalizaciones de Delta Live Tables implementadas relacionadas estén marcadas como
development: false
.Valida que la rama de Git actual es igual a la rama de Git especificada en el destino. Especificar una rama de Git en el destino es opcional y se puede realizar con una propiedad adicional
git
como se indica a continuación:git: branch: main
Esta validación se puede invalidar especificando
--force
durante la implementación.Databricks recomienda usar entidades de servicio para implementaciones de producción. Puede aplicar esto estableciendo
run_as
en una entidad de servicio. Consulte Administración de entidades de servicio y Especificación de una identidad de ejecución para un flujo de trabajo de conjuntos de recursos de Databricks. Si no usa entidades de servicio, tenga en cuenta los siguientes comportamientos adicionales:- Valida que las asignaciones
artifact_path
,file_path
root_path
, ostate_path
no se invalidan en un usuario específico. - Valida que se especifican las asignaciones
run_as
ypermissions
para aclarar qué identidades tienen permisos específicos para las implementaciones.
- Valida que las asignaciones
A diferencia del comportamiento anterior para establecer la asignación de
mode
adevelopment
, establecer la asignación demode
aproduction
no permite anular ninguna definición de clúster existente especificada en el archivo de configuración de agrupación relacionado, por ejemplo mediante la opción--compute-id <cluster-id>
o la asignación decompute_id
.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de