Desarrollo de conjuntos de activos de Databricks
En este artículo se describe el desarrollo y el ciclo de vida de una Conjunto de recursos de Databricks. Para obtener información general acerca de los conjuntos de recursos de Databricks, consulte ¿Qué son los conjuntos de recursos de Databricks?.
Ciclo de vida de una agrupación
Para comprender cómo usar paquetes de forma eficaz, debe comprender el ciclo de vida básico de una agrupación:
- El esqueleto del lote se crea en función de un proyecto.
- El proyecto de agrupación se desarrolla localmente. Un paquete contiene archivos de configuración que definen la configuración de la infraestructura y del área de trabajo, como destinos de implementación, la configuración de recursos de Databricks, como trabajos y canalizaciones, así como archivos de origen y otros artefactos.
- El proyecto de agrupación se valida. La validación comprueba la configuración y las definiciones de recursos de la configuración de agrupación en los esquemas de objeto correspondientes para asegurarse de que la agrupación se puede implementar en Databricks.
- La agrupación se implementa en un área de trabajo de destino. Normalmente, una agrupación se implementa primero en el área de trabajo de desarrollo personal de un usuario para realizar pruebas. Una vez finalizada la prueba del lote, la agrupación se puede implementar en el almacenamiento provisional y después, los destinos de producción.
- Los recursos de flujo de trabajo definidos en el lote implementado se pueden ejecutar. Por ejemplo, puede ejecutar un trabajo.
- Si la agrupación ya no se usa, se puede destruir permanentemente.
Use los comandos de Agrupación de la CLI de Databricks para crear, validar, implementar, ejecutar y destruir paquetes, como se describe en las siguientes secciones.
Paso 1: Crear una agrupación
Hay tres maneras de empezar a crear una agrupación:
- Utilice la plantilla de conjunto predeterminada.
- Utilice una plantilla de conjunto personalizada.
- Cree una agrupación manualmente.
Utilizar una plantilla de paquete predeterminada
Para usar una plantilla de agrupación predeterminada de Azure Databricks para crear un paquete de inicio que pueda personalizar más, use CLI de Databricks versión 0.218.0 o posterior para ejecutar el comando bundle init
lo que le permite elegir entre una lista de plantillas disponibles. Consulte Creación de una agrupación a partir de una plantilla de proyecto.
databricks bundle init
Puede ver el código fuente de las plantillas de conjuntos predeterminadas en los repositorios públicos de databricks/cli y databricks/mlops-stacks.
Vaya al Paso 2: rellenar los archivos de configuración del conjunto.
Uso de una plantilla de agrupación personalizada
Para utilizar una plantilla de conjunto distinta de la plantilla de conjunto predeterminada de Azure Databricks, debe conocer la ruta local o la URL de la ubicación de la plantilla de conjunto remota. Use CLI de Databricks versión 0.218.0 o posterior para ejecutar el comando bundle init
de la manera siguiente:
databricks bundle init <project-template-local-path-or-url>
Para obtener más información sobre este comando, consulta Plantillas de proyecto de agrupación de recursos de Databricks. Para obtener información sobre una plantilla de agrupación específica, consulte la documentación del proveedor de plantillas de agrupación.
Vaya al Paso 2: rellenar los archivos de configuración del conjunto.
Creación manual de una agrupación
Para crear un conjunto manualmente en lugar de utilizar una plantilla de conjunto, cree un directorio de proyecto en su equipo local o un repositorio vacío con un proveedor Git de terceros.
En su directorio o repositorio, cree uno o más archivos de configuración de conjuntos como entrada. Estos archivos se expresan en formato YAML. Debe haber como mínimo un archivo de configuración de agrupación (y solo uno) denominado databricks.yml
. Se debe hacer referencia a los archivos de configuración de conjuntos adicionales en la include
asignación del archivo databricks.yml
.
Para crear archivos YAML más fácil y rápidamente que se ajusten a la sintaxis de la configuración de agrupación de recursos de Databricks, puede usar una herramienta como Visual Studio Code, PyCharm Professional o IntelliJ IDEA Ultimate que proporciona compatibilidad con los archivos YAML y los archivos de esquema JSON, como se indica a continuación:
Visual Studio Code
Agregue compatibilidad con el servidor de lenguaje YAML a Visual Studio Code, por ejemplo, instalando la extensión YAML desde Visual Studio Code Marketplace.
Genere el archivo de esquema JSON de configuración de Asset Bundle de Databricks y utilice la versión 0.218.0 de la CLI de Databricks, o cualquier versión posterior, para ejecutar el comando
bundle schema
y redirigir la salida a un archivo JSON. Por ejemplo, genere un archivo denominadobundle_config_schema.json
dentro del directorio actual, como se indica a continuación:databricks bundle schema > bundle_config_schema.json
Use Visual Studio Code para crear o abrir un archivo de configuración de agrupación en el directorio actual. Este archivo debe tener el nombre
databricks.yml
.Agregue el siguiente comentario al principio del archivo de configuración de agrupación:
# yaml-language-server: $schema=bundle_config_schema.json
Nota:
En el comentario anterior, si el archivo de esquema JSON de configuración del conjunto de recursos de Databricks está en una ruta de acceso diferente, reemplace
bundle_config_schema.json
por la ruta de acceso completa al archivo de esquema.Use las características del servidor de lenguaje YAML que agregó anteriormente. Para más información, consulte la documentación del servidor de lenguaje YAML.
PyCharm Professional
Genere el archivo de esquema JSON de configuración de Asset Bundle de Databricks y utilice la versión 0.218.0 de la CLI de Databricks, o cualquier versión posterior, para ejecutar el comando
bundle schema
y redirigir la salida a un archivo JSON. Por ejemplo, genere un archivo denominadobundle_config_schema.json
dentro del directorio actual, como se indica a continuación:databricks bundle schema > bundle_config_schema.json
Configure PyCharm para reconocer el archivo de esquema JSON de configuración de agrupación y, a continuación, complete la asignación de esquema JSON siguiendo las instrucciones de Configuración de un esquema JSON personalizado.
Use PyCharm para crear o abrir un archivo de configuración de agrupación. Este archivo debe tener el nombre
databricks.yml
. A medida que escribe, PyCharm comprueba si hay sintaxis y formato de esquema JSON y proporciona sugerencias de finalización de código.
IntelliJ IDEA Ultimate
Genere el archivo de esquema JSON de configuración de Asset Bundle de Databricks y utilice la versión 0.218.0 de la CLI de Databricks, o cualquier versión posterior, para ejecutar el comando
bundle schema
y redirigir la salida a un archivo JSON. Por ejemplo, genere un archivo denominadobundle_config_schema.json
dentro del directorio actual, como se indica a continuación:databricks bundle schema > bundle_config_schema.json
Configure IntelliJ IDEA para reconocer el archivo de esquema JSON de configuración de agrupación y, a continuación, complete la asignación de esquema JSON siguiendo las instrucciones de Configurar un esquema JSON personalizado.
Use IntelliJ IDEA para crear o abrir un archivo de configuración de agrupación. Este archivo debe tener el nombre
databricks.yml
. A medida que escribe, IntelliJ IDEA comprueba si hay sintaxis y formato de esquema JSON y proporciona sugerencias de finalización de código.
Paso 2: rellenar los archivos de configuración del conjunto
Los archivos de configuración de agrupación definen los flujos de trabajo de Azure Databricks especificando valores como detalles del área de trabajo, nombres de artefactos, ubicaciones de archivos, detalles del trabajo y detalles de canalización. Normalmente, la configuración de agrupación también contiene destinos de desarrollo, almacenamiento provisional e implementación de producción. Para obtener información detallada sobre los archivos de configuración de agrupación, consulta Configuración de agrupaciones de recursos de Databricks.
Puede usar el comando bundle generate
para generar automáticamente la configuración de agrupación de un recurso existente en el área de trabajo y a continuación, usar bundle deployment bind
para vincular la configuración de agrupación al recurso del área de trabajo para mantenerlos sincronizados. Vea Generación de un archivo de configuración de agrupación y Enlazar recursos de agrupación.
Paso 3: Validar los archivos de configuración de agrupación
Antes de implementar artefactos o ejecutar un trabajo o una canalización, debe comprobar que las definiciones de los archivos de configuración de agrupación son válidas. Para ello, ejecute el comando bundle validate
desde el directorio raíz del proyecto de agrupación. Consulte Validar una agrupación.
databricks bundle validate
Si la validación se realiza correctamente, se devuelve un resumen de la identidad del lote y se devuelve un mensaje de confirmación. Para generar el esquema, use el comando databricks bundle schema
. Consulte Mostrar el esquema de configuración de agrupación.
Paso 4: Implementar la agrupación
Antes de implementar la agrupación, asegúrese de que el área de trabajo remota tiene habilitados los archivos del área de trabajo. Consulte ¿Qué son los archivos del área de trabajo?
Para implementar una agrupación en un área de trabajo remota, ejecute el comando bundle deploy
desde la raíz del lote como se describe en Implementación de un lote. La CLI de Databricks se implementa en el área de trabajo de destino declarada dentro de los archivos de configuración de agrupación. Consulte destinos.
databricks bundle deploy
La identidad única de un lote se define por su nombre, destino e identidad del implementador. Si estos atributos son idénticos en diferentes agrupaciones, la implementación de estos conjuntos interferirá entre sí. Consulte Implementación de una agrupación para obtener más información.
Sugerencia
Puede ejecutar databricks bundle
comandos fuera de la raíz del paquete estableciendo la variable de entorno BUNDLE_ROOT
. Si no se establece esta variable de entorno, los comandos databricks bundle
intentan buscar la raíz de agrupación mediante la búsqueda en el directorio de trabajo actual.
Paso 5: Ejecutar las pruebas
Para ejecutar un trabajo o una canalización específicos, ejecute el bundle run
comando desde la raíz del lote, especificando el trabajo o la clave de canalización declarada en los archivos de configuración de agrupación, tal como se describe en Ejecución de un trabajo o canalización. La clave de recurso es el elemento de nivel superior del bloque YAML del recurso. Si no especifica un trabajo o una clave de canalización, se le pedirá que seleccione un recurso para ejecutarlo en una lista de recursos disponibles. Si no se especifica la opción -t
, se usa el destino predeterminado declarado en los archivos de configuración de agrupación. Por ejemplo, para ejecutar un trabajo con la clave hello_job
dentro del contexto del destino predeterminado:
databricks bundle run hello_job
Para ejecutar un trabajo con una clave hello_job
dentro del contexto de un destino declarado con el nombre dev
:
databricks bundle run -t dev hello_job
Paso 6: Destruir la agrupación
Advertencia
Al destruir una agrupación, se eliminan permanentemente los trabajos, canalizaciones y artefactos implementados previamente de un lote. Esta acción no se puede deshacer.
Si ha terminado con la agrupación y quiere eliminar trabajos, canalizaciones y artefactos que se implementaron anteriormente, ejecute el comando bundle destroy
desde la raíz del lote. Este comando elimina todos los trabajos, canalizaciones y artefactos implementados anteriormente que se definen en los archivos de configuración de agrupación: Consulte Destruir un lote.
databricks bundle destroy
De forma predeterminada, se le pedirá que confirme la eliminación permanente de los trabajos, canalizaciones y artefactos implementados anteriormente. Para omitir estas solicitudes y realizar una eliminación permanente automática, agregue la opción --auto-approve
al comando bundle destroy
.