Compartir a través de


CI/CD en Azure Databricks

La integración continua y la entrega continua (CI/CD) se refieren al proceso de desarrollo y entrega de software en breves ciclos frecuentes mediante el uso de canalizaciones de automatización. CI/CD es común en el desarrollo de software y se está volviendo cada vez más necesario en la ingeniería de datos y la ciencia de datos. Al automatizar la compilación, las pruebas y la implementación del código, los equipos de desarrollo ofrecen versiones de forma más confiable que con procesos manuales.

Databricks proporciona herramientas para desarrollar canalizaciones de CI/CD que admiten enfoques que pueden diferir ligeramente de la organización a la organización debido a aspectos únicos del ciclo de vida de desarrollo de software de cada organización. En esta página se proporciona información sobre las herramientas disponibles para canalizaciones de CI/CD en Databricks. Para más información sobre las recomendaciones de CI/CD y los procedimientos recomendados, consulte Procedimientos recomendados y flujos de trabajo de CI/CD recomendados en Databricks.

Para obtener información general sobre CI/CD para proyectos de aprendizaje automático en Azure Databricks, consulte ¿Cómo admite Databricks CI/CD para el aprendizaje automático?.

Flujo de alto nivel

Un flujo común para una canalización de CI/CD de Azure Databricks es:

  1. Versión: almacene el código y los cuadernos de Azure Databricks en un sistema de control de versiones como Git. Esto le permite realizar un seguimiento de los cambios a lo largo del tiempo y colaborar con otros miembros del equipo.
  2. Código: desarrolle pruebas unitarias y de código en un cuaderno de Azure Databricks en el área de trabajo o localmente mediante un IDE.
  3. Compilación: use la configuración de Paquetes de activos de Databricks para compilar automáticamente determinados artefactos durante los despliegues.
  4. Implementación: implemente cambios en el área de trabajo de Azure Databricks mediante Conjuntos de recursos de Databricks con herramientas como Azure DevOps, Acciones de GitHub o Jenkins.
  5. Prueba: desarrolle y ejecute pruebas automatizadas para validar los cambios de código.
    • Use herramientas como pytest para probar las integraciones.
  6. Ejecutar: use la CLI de Databricks con paquetes de activos de Databricks para automatizar ejecuciones en sus áreas de trabajo de Azure Databricks.
  7. Supervisión: supervise el rendimiento de las cargas de trabajo de código y producción en Azure Databricks mediante herramientas como la supervisión de trabajos. Esto le ayuda a identificar y resolver los problemas que surjan en el entorno de producción.

Herramientas disponibles

Las siguientes herramientas admiten principios básicos de CI/CD: versión de todos los archivos y unificar la administración de recursos, definir la infraestructura como código, aislar entornos, automatizar pruebas y supervisar y automatizar reversiones.

Ámbito Use estas herramientas cuando desee...
Conjuntos de recursos de Databricks Defina, implemente y ejecute recursos programáticamente, incluidos los trabajos de Lakeflow, las canalizaciones declarativas de Spark de Lakeflow y las pilas de MLOps, utilizando las mejores prácticas y flujos de CI/CD.
Proveedor Databricks Terraform Aprovisione y administre áreas de trabajo e infraestructura de Databricks mediante Terraform.
Integración y entrega continuas en Azure Databricks con Azure DevOps Desarrolle una canalización de CI/CD para Azure Databricks que use Azure DevOps.
Autenticación con Azure DevOps en Azure Databricks Autentíquese con Azure DevOps.
Acciones de GitHub Incluya una acción de GitHub desarrollada para Azure Databricks en el flujo de CI/CD.
CI/CD con Jenkins en Azure Databricks Desarrolle una canalización de CI/CD para Azure Databricks que use Jenkins.
Orquestación de trabajos de Lakeflow con Apache Airflow Administre y programe una canalización de datos que use Apache Airflow.
Entidades de servicio para CI/CD Use entidades de servicio, en lugar de usuarios, con CI/CD.
Autenticación del acceso a Azure Databricks mediante la federación de tokens de OAuth Utilice la federación de identidades de carga de trabajo para la autenticación de CI/CD. Esto elimina la necesidad de secretos de Databricks y lo convierte en la manera más segura de autenticarse en Databricks.

Conjuntos de recursos de Databricks

Los conjuntos de recursos de Databricks son el enfoque recomendado para CI/CD en Databricks. Use Conjuntos de recursos de Databricks para describir recursos de Databricks, como trabajos y canalizaciones como archivos de origen, y agrúpelos junto con otros recursos para proporcionar una definición de un extremo a otro de un proyecto que se puede implementable. Estos conjuntos de archivos se pueden controlar de origen y puede usar la automatización externa de CI/CD, como Acciones de Github para desencadenar implementaciones.

Las agrupaciones incluyen muchas características, como plantillas personalizadas para aplicar coherencia y procedimientos recomendados en toda la organización, y compatibilidad completa para implementar los archivos de código y la configuración de muchos recursos de Databricks. La creación de un paquete requiere cierto conocimiento de la sintaxis de configuración del paquete.

Para obtener recomendaciones sobre cómo usar agrupaciones en CI/CD, consulte Procedimientos recomendados y flujos de trabajo de CI/CD recomendados en Databricks.

Otras herramientas para el control de código fuente

Como alternativa a aplicar CI/CD completo con Paquetes de activos de Databricks, Databricks ofrece opciones solo para controlar el código fuente mediante control de versiones e implementar archivos de código y cuadernos.

  • Carpeta Git: las carpetas de Git se pueden usar para reflejar el estado de un repositorio de Git remoto. Puede crear una carpeta git para producción para administrar archivos y cuadernos de código fuente controlados por código fuente. A continuación, extraiga manualmente la carpeta Git al estado más reciente o use herramientas externas de CI/CD, como las Acciones de GitHub, para extraer la carpeta Git al hacer una fusión. Use este enfoque cuando no tenga acceso a canalizaciones de CI/CD externas.

    Este enfoque funciona para orquestadores externos, como Airflow, pero tenga en cuenta que solo los archivos de código, como cuadernos y borradores de panel, están en el control de código fuente. Las configuraciones de trabajos o flujos de trabajo que ejecutan recursos en la carpeta Git y las configuraciones para los tableros de publicación no están en el control de código fuente.

  • Git con trabajos: Git con trabajos le permite configurar algunos tipos de trabajo para usar un repositorio de Git remoto como origen para los archivos de código. Cuando se inicia una ejecución de trabajo, Databricks toma una instantánea del repositorio y ejecuta todas las tareas en esa versión. Este enfoque solo admite tareas de trabajo limitadas, y solo se gestionan por control de versiones los archivos de código (cuadernos y otros archivos). Las configuraciones de trabajo, como las secuencias de tareas, la configuración de proceso y las programaciones, no están controladas por el origen, lo que hace que este enfoque sea menos adecuado para las implementaciones entre áreas de trabajo y de varios entornos.