Share via


¿Qué es CI/CD en Azure Databricks?

Este artículo es una introducción a CI/CD en Databricks. Integración continua y entrega continua (CI/CD) hace referencia al proceso de desarrollo y entrega de software en ciclos cortos y frecuentes a través del uso de canalizaciones de automatización. CI/CD es habitual para el desarrollo de software y es cada vez más necesario para 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 pueden ofrecer versiones de forma más confiable que con los procesos manuales que los equipos de ingeniería de datos y ciencia de datos siguen siendo comunes.

Azure Databricks recomienda usar Conjuntos de recursos de Databricks para CI/CD, que permiten el desarrollo e implementación de proyectos complejos de datos, análisis y aprendizaje automático para la plataforma de Azure Databricks. Las agrupaciones permiten administrar fácilmente muchas configuraciones personalizadas y automatizar compilaciones, pruebas e implementaciones de los proyectos en áreas de trabajo de desarrollo, almacenamiento provisional y producción de Azure 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?.

¿Qué hay en una canalización de CI/CD en Azure Databricks?

Puede usar Conjuntos de recursos de Databricks para definir y administrar mediante programación la implementación de CI/CD de Azure Databricks, que normalmente incluye:

  • Cuadernos: los cuadernos de Azure Databricks suelen ser una parte clave de los flujos de trabajo de ingeniería de datos y ciencia de datos. Puede usar el control de versiones para cuadernos y también validarlos y probarlos como parte de una canalización de CI/CD. Puede ejecutar pruebas automatizadas en cuadernos para comprobar si funcionan según lo previsto.
  • Bibliotecas: administre las dependencias de la biblioteca necesarias para ejecutar el código implementado. Use el control de versiones en las bibliotecas e inclúyalos en pruebas y validación automatizadas.
  • flujos de trabajo: Flujos de trabajo de Databricks constan de trabajos que permiten programar y ejecutar tareas automatizadas mediante cuadernos o trabajos de Spark.
  • Canalizaciones de datos: también puede incluir canalizaciones de datos en la automatización de CI/CD, mediante Delta Live Tables, el marco de trabajo de Databricks para declarar canalizaciones de datos.
  • Infraestructura: la configuración de infraestructura incluye definiciones e información de aprovisionamiento para clústeres, áreas de trabajo y almacenamiento para entornos de destino. Los cambios en la infraestructura se pueden validar y probar como parte de una canalización de CI/CD, lo que garantiza que sean coherentes y sin errores.

Pasos para CI/CD en Azure Databricks

Un flujo típico para una canalización de CI/CD de Azure Databricks incluye los pasos siguientes:

  1. Store: 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. Consulte Técnicas de CI/CD con carpetas de Git y Databricks Git (Repositorios) y configuración de Git de agrupación.
  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 externo. Azure Databricks proporciona una Extensión de Visual Studio Code que facilita el desarrollo e implementación de cambios en áreas de trabajo de Azure Databricks.
  3. Compilación: use la configuración de conjuntos de recursos de Databricks para compilar automáticamente determinados artefactos durante las implementaciones. Consulte artefactos.
  4. Implementar: implemente cambios en el área de trabajo de Azure Databricks mediante conjuntos de recursos de Databricks junto con herramientas como Azure DevOps, Jenkins o Acciones de GitHub. Consulte modos de implementación de Asset Bundle de Databricks.
  5. Prueba: desarrolle y ejecute pruebas automatizadas para validar los cambios de código mediante herramientas como pytest.
  6. Ejecución: use la CLI de Databricks junto con Los conjuntos de recursos de Databricks para automatizar las ejecuciones en las áreas de trabajo de Azure Databricks. Consulte Ejecutar una agrupación.
  7. Monitor: supervise el rendimiento del código y los flujos de trabajo de Azure Databricks mediante herramientas como Azure Monitor o Datadog. Esto le ayuda a identificar y resolver los problemas que surjan en el entorno de producción.
  8. Iterar: realice iteraciones pequeñas y frecuentes para mejorar y actualizar el proyecto de ingeniería de datos o ciencia de datos. Los pequeños cambios son más fáciles de revertir que los grandes.

Para más información sobre cómo administrar el ciclo de vida de los recursos y los datos de Azure Databricks, consulte la siguiente documentación sobre las herramientas de canalización de datos y CI/CD.

Área Use estas herramientas cuando desee...
conjuntos de recursos de Databricks Defina, implemente y ejecute mediante programación trabajos de Azure Databricks, canalizaciones de Delta Live Tables y pilas de MLOps con procedimientos recomendados y flujos de trabajo de CI/CD.
Flujos de trabajo de CI/CD con carpetas Git y Git de Databricks Use las carpetas Git de GitHub y Databricks para el control de código fuente y los flujos de trabajo de CI/CD.
Integración y entrega continuas en Azure Databricks con Azure DevOps Desarrollar una canalización de CI/CD para Azure Databricks que use Azure DevOps.
Integración y entrega continuas con Acciones de GitHub Desarrolle un flujo de trabajo de CI/CD en GitHub que use Acciones de GitHub desarrolladas para Azure Databricks.
CI/CD con Jenkins en Azure Databricks Desarrollar una canalización de CI/CD para Azure Databricks que use Jenkins.
Orquestación de trabajos de Azure Databricks con Apache Airflow Administrar y programar una canalización de datos que use Apache Airflow.
Entidades de servicio para CI/CD Use entidades de servicio, en lugar de usuarios, con sistemas de CI/CD.