Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
Los pasos para convertir una canalización existente en un paquete son:
- Asegúrese de disponer de acceso a una pipeline configurada previamente que desea convertir en un paquete.
- Cree o prepare una carpeta (preferiblemente en una jerarquía controlada por código fuente) para almacenar la agrupación.
- Genera una configuración para el paquete a partir del pipeline existente, usando el CLI de Azure Databricks.
- Revise la configuración de agrupación generada para asegurarse de que está completa.
- Vincule el paquete al pipeline original.
- Implemente el pipeline en un área de trabajo de destino mediante la configuración del paquete.
Requisitos
Antes de comenzar, debe tener:
- La CLI de Databricks instalada en la máquina de desarrollo local. Se requiere la VERSIÓN 0.218.0 o posterior de la CLI de Databricks para usar conjuntos de recursos de Databricks.
- El identificador de una canalización declarativa existente que administrará mediante una agrupación. Para obtener información sobre cómo obtener este identificador, consulte Obtención de una definición de canalización existente mediante la interfaz de usuario.
- Autorización para el área de trabajo de Azure Databricks donde se ejecuta la canalización existente. Para configurar la autenticación y autorización de las llamadas de la CLI de Azure Databricks, consulte Autorización del acceso a los recursos de Azure Databricks.
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).
Vaya a la raíz del repositorio Git clonado en su máquina local.
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-bundleCambie el directorio de trabajo actual a esta nueva carpeta. Por ejemplo:
cd ~/source/my-pipelines/ingestion/events/my-bundleInicialice una nueva agrupación mediante la ejecución de:
databricks bundle initResponda a las indicaciones. Una vez completado, tendrá un archivo de configuración de proyecto denominado
databricks.ymlen 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:
-
resourceses el subdirectorio del proyecto que contiene archivos de configuración del proyecto. -
srces la carpeta del proyecto donde se almacenan los archivos de origen, como consultas y cuadernos.
El comando también crea algunos archivos adicionales:
-
*.pipeline.ymlen el subdirectorioresources. 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:
- ¿Qué son los conjuntos de recursos de Databricks?
- Desarrolle canalizaciones declarativas de Spark de Lakeflow con conjuntos de recursos de Databricks. En este tema se describe la creación de un paquete para una nueva canalización en lugar de una existente, utilizando archivos de origen controlados por versiones para el procesamiento que usted proporcione.