Compartir a través de


Convierte una canalización en un proyecto Asset Bundle de Databricks

En este artículo se muestra cómo convertir una canalización existente en un proyecto de Conjuntos de Recursos Databricks. Las agrupaciones permiten definir y administrar la configuración de procesamiento de datos de Azure Databricks en un único archivo YAML controlado por código fuente que proporciona un mantenimiento más sencillo y permite la implementación automatizada en entornos de destino.

Introducción al proceso de conversión

Diagrama en el que se muestran los pasos específicos para convertir una canalización existente en una agrupación

Los pasos para convertir una canalización existente en un paquete son:

  1. Asegúrese de disponer de acceso a una pipeline configurada previamente que desea convertir en un paquete.
  2. Cree o prepare una carpeta (preferiblemente en una jerarquía controlada por código fuente) para almacenar la agrupación.
  3. Genera una configuración para el paquete a partir del pipeline existente, usando el CLI de Azure Databricks.
  4. Revise la configuración de agrupación generada para asegurarse de que está completa.
  5. Vincule el paquete al pipeline original.
  6. Implemente el pipeline en un área de trabajo de destino mediante la configuración del paquete.

Requisitos

Antes de comenzar, debe tener:

Paso 1: Configurar una carpeta para el proyecto de agrupación

Debe tener acceso a un repositorio de Git que esté configurado en Azure Databricks como una carpeta de Git. Creará el proyecto de agrupación en este repositorio, que aplicará el control de código fuente y lo pondrá a disposición de otros colaboradores a través de una carpeta Git en el área de trabajo de Azure Databricks correspondiente. (Para más información sobre las carpetas de Git, consulte Carpetas de Git de Azure Databricks).

  1. Vaya a la raíz del repositorio Git clonado en su máquina local.

  2. En un lugar adecuado en la jerarquía de carpetas, cree una carpeta específicamente para el proyecto de agrupación. Por ejemplo:

    mkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
    
  3. Cambie el directorio de trabajo actual a esta nueva carpeta. Por ejemplo:

    cd ~/source/my-pipelines/ingestion/events/my-bundle
    
  4. Inicialice una nueva agrupación mediante la ejecución de:

    databricks bundle init
    

    Responda a las indicaciones. Una vez completado, tendrá un archivo de configuración de proyecto denominado databricks.yml en la nueva carpeta principal del proyecto. Este archivo es necesario para implementar la canalización desde la línea de comandos. Para obtener más información sobre este archivo de configuración, consulte la Configuración de Asset Bundle de Databricks.

Paso 2: Generación de la configuración de canalización

Desde este nuevo directorio en el árbol de carpetas del repositorio git clonado, ejecute el comando de generación del lote de la CLI de Azure Databricks y proporcione el identificador de la canalización como <pipeline-id>:

databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>

Al ejecutar el comando generate, crea un archivo de configuración de agrupación para la canalización en la carpeta de la resources agrupación y descarga los artefactos a los que se hace referencia en la carpeta src. La --profile (o el indicador -p) es opcional, pero si tiene un perfil de configuración específico de Databricks (definido en el archivo .databrickscfg creado al instalar la CLI de Azure Databricks) que prefiere utilizar en lugar del perfil predeterminado, inclúyalo en este comando. Para obtener más información sobre los perfiles de configuración de Databricks, consulte Perfiles de configuración de Azure Databricks.

Paso 3: Revisar los archivos del proyecto de agrupación

Cuando se complete el comando bundle generate, habrá creado dos carpetas nuevas:

  • resources es el subdirectorio del proyecto que contiene archivos de configuración del proyecto.
  • src es la carpeta del proyecto donde se almacenan los archivos de origen, como consultas y cuadernos.

El comando también crea algunos archivos adicionales:

  • *.pipeline.yml en el subdirectorio resources. Este archivo contiene la configuración y las opciones específicas de la canalización.
  • Archivos de origen, como consultas SQL en el subdirectorio src, copiados de la canalización existente.
├── databricks.yml                            # Project configuration file created with the bundle init command
├── resources/
│   └── {your-pipeline-name.pipeline}.yml     # Pipeline configuration
└── src/
    └── {source folders and files...}         # Your pipeline's declarative queries

Paso 4: Enlace de la canalización de agrupación a la canalización existente

Debe vincular o enlazarla definición de canalización de la agrupación a la canalización existente para mantenerla actualizada a medida que realice cambios. Para ello, ejecute el comando de enlace de implementación del lote de la CLI de Azure Databricks:

databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>

<pipeline-name> es el nombre de la canalización. Este nombre debe ser el mismo que el valor de cadena con prefijo del nombre de archivo para la configuración de canalización en el nuevo directorio resources. Por ejemplo, si tiene un archivo de configuración de canalización denominado ingestion_data_pipeline.pipeline.yml en la carpeta resources, debe proporcionar ingestion_data_pipeline como nombre de canalización.

<pipeline-ID> es el identificador de la canalización. Es el mismo que el que copió como parte de los requisitos de estas instrucciones.

Paso 5: Despliega tu canalización usando tu nuevo paquete

Ahora, implemente su conjunto de canalizaciones en el área de trabajo de destino mediante el comando bundle deploy de la CLI de Azure Databricks.

databricks bundle deploy --target <target-name> --profile <profile-name>

La marca --target es necesaria y debe establecerse en una cadena que coincida con un nombre de área de trabajo de destino configurado, como development o production.

Si este comando se ejecuta correctamente, ahora dispone de la configuración de la canalización en un proyecto externo, que se puede cargar en otras áreas de trabajo para ser ejecutada y compartida fácilmente con otros usuarios de Azure Databricks en su cuenta.

Solución de problemas

Cuestión Solución
Error "databricks.yml no encontrado" al ejecutar bundle generate Actualmente, el bundle generate comando no crea automáticamente el archivo de configuración de agrupación (databricks.yml). Debe crear el archivo mediante databricks bundle init o manualmente.
La configuración de canalización existente no coincide con los valores de la canalización generada en YAML. El ID del pipeline no aparece en el archivo YML de configuración del paquete. Si observa alguna otra configuración que falta, puede aplicarlas manualmente.

Sugerencias para el éxito

  • Use siempre el control de versiones. Si no usa carpetas de Git de Databricks, almacene los subdirectorios y archivos del proyecto en git u otro repositorio o sistema de archivos controlado por versiones.
  • Pruebe la canalización en un entorno que no sea de producción (como un entorno de "desarrollo" o "prueba") antes de implementarla en un entorno de producción. Es fácil introducir una configuración incorrecta por accidente.

Recursos adicionales

Para obtener más información sobre el uso de agrupaciones para definir y administrar el procesamiento de datos, consulte: