¿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:
- 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.
- 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.
- Compilación: use la configuración de conjuntos de recursos de Databricks para compilar automáticamente determinados artefactos durante las implementaciones. Consulte artefactos.
- 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.
- Prueba: desarrolle y ejecute pruebas automatizadas para validar los cambios de código mediante herramientas como pytest.
- 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.
- 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.
- 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.
Vínculos relacionados
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. |