Compartir a través de


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:

  1. El esqueleto del lote se crea en función de un proyecto.
  2. 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.
  3. 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.
  4. 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.
  5. Los recursos de flujo de trabajo definidos en el lote implementado se pueden ejecutar. Por ejemplo, puede ejecutar un trabajo.
  6. 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:

  1. Utilice la plantilla de conjunto predeterminada.
  2. Utilice una plantilla de conjunto personalizada.
  3. 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

  1. Agregue compatibilidad con el servidor de lenguaje YAML a Visual Studio Code, por ejemplo, instalando la extensión YAML desde Visual Studio Code Marketplace.

  2. 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 denominado bundle_config_schema.json dentro del directorio actual, como se indica a continuación:

    databricks bundle schema > bundle_config_schema.json
    
  3. 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.

  4. 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.

  5. 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

  1. 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 denominado bundle_config_schema.json dentro del directorio actual, como se indica a continuación:

    databricks bundle schema > bundle_config_schema.json
    
  2. 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.

  3. 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

  1. 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 denominado bundle_config_schema.json dentro del directorio actual, como se indica a continuación:

    databricks bundle schema > bundle_config_schema.json
    
  2. 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.

  3. 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 comando bundle run desde la raíz del lote, especificando la clave de canalización o trabajo declarada en los archivos de configuración de agrupación, como se describe en Ejecutar un lote. 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

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.