Compartir vía


¿Qué son los conjuntos de recursos de Databricks?

Conjuntos de recursos de Databricks (DAB) es una herramienta para facilitar la adopción de procedimientos recomendados de ingeniería de software, como el control de código fuente, su revisión, las pruebas, y la integración continua y la entrega continuas (CI/CD) de los proyectos de datos e IA. Los conjuntos permiten describir recursos de Databricks, por ejemplo, trabajos, canalizaciones y cuadernos, como archivos de origen. Estos archivos de origen proporcionan una definición completa de un proyecto, incluido cómo se debe estructurar, probar e implementar, lo que facilita la colaboración en proyectos durante la fase de desarrollo activo.

Los conjuntos proporcionan una manera de incluir metadatos junto con los archivos de origen del proyecto. Al implementar un proyecto mediante conjuntos, estos metadatos se usan para aprovisionar una infraestructura y otros recursos. Luego, la colección de metadatos y archivos de origen del proyecto se implementa como un conjunto individual en el entorno de destino. Una agrupación incluye las siguientes partes:

  • Configuraciones necesarias de áreas de trabajo e infraestructuras
  • Archivos de origen, como cuadernos y archivos de Python, que incluyen la lógica de negocios
  • Definiciones y configuración de los recursos de Databricks, como los trabajos de Azure Databricks, las canalizaciones de Delta Live Tables, los puntos de conexión de Servicio de modelos, los experimentos de MLflow y los modelos registrados de MLflow
  • Pruebas unitarias y pruebas de integración.

En el diagrama siguiente se proporciona una vista general de una canalización de desarrollo y CI/CD con conjuntos:

Introducción a los conjuntos de recursos de Databricks

¿Cuándo debo usar los conjuntos de recursos de Databricks?

Los conjuntos de recursos de Databricks son un enfoque de infraestructura como código (IaC) para administrar proyectos de Databricks. Úselos cuando quiera administrar proyectos complejos en los que son esenciales varios colaboradores y la automatización, y la integración e implementación continuas (CI/CD) son un requisito. Dado que los conjuntos se definen y administran mediante archivos y plantillas de YAML que se crean y mantienen junto con el código fuente, se asignan bien a escenarios en los que IaC es un enfoque adecuado.

Algunos escenarios ideales para agrupaciones incluyen:

  • Desarrolle proyectos de datos, análisis y aprendizaje automático en un entorno basado en equipo. Las agrupaciones pueden ayudarle a organizar y administrar varios archivos de código fuente de forma eficaz. Esto garantiza una colaboración fluida y procesos simplificados.
  • Iteración de los problemas de ML más rápido. Administre los recursos de canalización de ML (como los trabajos de entrenamiento e inferencia por lotes) mediante proyectos de ML que siguen los procedimientos recomendados de producción desde el principio.
  • Establezca estándares organizativos para nuevos proyectos mediante la creación de plantillas de agrupación personalizadas que incluyan permisos predeterminados, entidades de servicio y configuraciones de CI/CD.
  • Cumplimiento normativo: en los sectores en los que el cumplimiento normativo es un problema importante, los paquetes pueden ayudar a mantener un historial con versiones del código y del trabajo de infraestructura. Esto ayuda a la gobernanza y garantiza que se cumplen los estándares de cumplimiento necesarios.

¿Cómo funcionan los conjuntos de recursos de Databricks?

Los metadatos de los conjuntos se definen mediante los archivos YAML que especifican los artefactos, los recursos y la configuración de un proyecto de Databricks. Puede crear este archivo YAML manualmente o generarlo mediante una plantilla de conjunto. Después, se puede usar la CLI de Databricks para validar, implementar y ejecutar conjuntos, para lo que hay que usar estos archivos YAML. Los proyectos de conjuntos se pueden ejecutar desde IDE, terminales, o bien directamente en Databricks. En este artículo se usa la CLI de Databricks.

Los conjuntos se pueden crear manualmente o con una plantilla. La CLI de Databricks proporciona plantillas predeterminadas para casos de uso sencillos, pero para trabajos más específicos o complejos, se pueden crear plantillas de conjuntos personalizadas para implementar los procedimientos recomendados de su equipo y mantener unas configuraciones comunes coherentes.

Para obtener más información sobre el YAML de configuración que se usa para expresar los conjuntos de recursos de Databricks, consulta Configuraciones de conjuntos de recursos de Databricks.

Configuración del entorno para usar conjuntos

Use la CLI de Databricks para implementar fácilmente conjuntos desde la línea de comandos. Para instalar la CLI de Databricks, consulte Instalación o actualización de la CLI de Databricks.

Los conjuntos de recursos de Databricks están disponibles en la CLI de Databricks, versión 0.218.0 o posteriores. Para encontrar la versión de la CLI de Databricks que está instalada, ejecuta el siguiente comando:

databricks --version

Después de instalar la CLI de Databricks, compruebe que las áreas de trabajo remotas de Databricks estén configuradas correctamente. Los conjuntos requieren que se habilite la característica de archivos de área de trabajo, ya que esta característica admite que se trabaje con archivos que no sean cuadernos de Databricks, como los archivos .py y .yml. Si usas la versión 11.3 LTS o posterior de Databricks Runtime, esta característica está habilitada de manera predeterminada.

Autenticación

Azure Databricks proporciona varios métodos de autenticación:

  • Para escenarios de autenticación asistidos, como flujos de trabajo manuales en los que se usa el explorador web para iniciar sesión en el área de trabajo de Azure Databricks de destino (cuando se le solicite la CLI de Databricks), use la autenticación de usuario a máquina (U2M) de OAuth. Este método es ideal para experimentar con los tutoriales de introducción para Databricks Asset Bundles o para el rápido desarrollo de agrupaciones.
  • En escenarios de autenticación desatendida, como flujos de trabajo totalmente automatizados en los que no hay oportunidad de usar el explorador web para iniciar sesión en el área de trabajo de Azure Databricks de destino en ese momento, use la autenticación de máquina a máquina (M2M) de OAuth. Este método requiere el uso de entidades de servicio de Azure Databricks y es ideal para usar conjuntos de recursos de Databricks con sistemas de CI/CD, como GitHub.

Para la autenticación U2M de OAuth, haga lo siguiente:

  1. Use la CLI de Databricks para iniciar la administración de tokens de OAuth localmente mediante la ejecución del siguiente comando para cada área de trabajo de destino.

    En el comando siguiente, reemplace <workspace-url> por la dirección URL de Azure Databricks por área de trabajo, por ejemplo, https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. La CLI de Databricks le pide que guarde la información que especificó como un perfil de configuración de Azure Databricks. Presione Enter para aceptar el nombre del perfil sugerido o escriba el nombre de un perfil nuevo o existente. Cualquier perfil existente con el mismo nombre se sobrescribe con la información que especificó. Puede usar perfiles para cambiar rápidamente el contexto de autenticación entre varias áreas de trabajo.

    Para obtener una lista de los perfiles existentes, en un terminal o símbolo del sistema independiente, use la CLI de Databricks para ejecutar el comando databricks auth profiles. Para ver la configuración existente de un perfil específico, ejecute el comando databricks auth env --profile <profile-name>.

  3. En el explorador web, complete las instrucciones en pantalla para iniciar sesión en el área de trabajo de Azure Databricks.

  4. Para ver el valor actual del token de OAuth de un perfil y la próxima marca de tiempo de expiración del token’, ejecute uno de los siguientes comandos:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Si tiene varios perfiles con el mismo valor de --host, es posible que tenga que especificar las opciones --host y -p para ayudar a la CLI de Databricks a encontrar la información correcta del token de OAuth coincidente.

Puede usar este nombre de perfil de configuración de una o varias de las maneras siguientes cada vez que valide, implemente, ejecute o destruya agrupaciones:

  • Con la opción de línea de comandos -p <profile-name>, anexada a los comandos databricks bundle validate, databricks bundle deploy, databricks bundle runo databricks bundle destroy. Consulte Desarrollo de conjuntos de recursos de Databricks.
  • Como valor de la asignación profile en el archivo de configuración de agrupación de la asignación workspace de nivel superior (aunque Azure Databricks recomienda usar la asignación host en lugar de la asignación profile, ya que hace que los archivos de configuración de agrupación sean más portátiles). Consulte la cobertura de la asignación de profile en área de trabajo.
  • Si el nombre del perfil de configuración es DEFAULT, se usa de forma predeterminada cuando la opción de línea de comandos -p <profile-name> o la asignación de profile (o elhost) es no se especifica.

Para la autenticación de OAuth M2M, haga lo siguiente:

  1. Complete las instrucciones de configuración de autenticación M2M de OAuth. Consulte Autenticación del acceso a Azure Databricks con una entidad de servicio mediante OAuth (OAuth M2M).

  2. Instale la CLI de Databricks en el recurso de proceso de destino de una de las maneras siguientes:

  3. Establezca las siguientes variables de entorno en el recurso de proceso de la siguiente manera:

    • DATABRICKS_HOST, establecido en la URL por espacio de trabajo de Azure Databricks, por ejemplo https://adb-1234567890123456.7.azuredatabricks.net.
    • DATABRICKS_CLIENT_ID, se establece en el valor del identificador de aplicación de la entidad de servicio de Azure Databricks.
    • DATABRICKS_CLIENT_SECRET, se establece en el valor secreto de OAuth de la entidad de servicio de Azure Databricks.

    Para establecer estas variables de entorno, consulte la documentación del sistema operativo del recurso de proceso de destino o del sistema CI/CD.

Desarrollar su primer conjunto de recursos de Databricks

La forma más rápida de iniciar el desarrollo de conjuntos es usando una plantilla de proyecto de agrupación. Crea el primer proyecto de conjunto usando el comando init de agrupación de la CLI de Databricks. Este comando presenta una elección de las plantillas de conjunto predeterminadas proporcionadas por Databricks y formula una serie de preguntas para inicializar variables de proyecto.

databricks bundle init

La creación de la agrupación es el primer paso del ciclo de vida de una agrupación. El segundo paso consiste en desarrollar la agrupación, uno de cuyos elementos clave es definir la configuración y los recursos del paquete en databricks.yml y los archivos de configuración de recursos. Para obtener Información sobre la configuración de agrupación, consulta Configuraciones de agrupaciones de recursos de Databricks.

Sugerencia

Los ejemplos de configuración de agrupación se pueden encontrar en Ejemplos de configuración de agrupación y en el Repositorio de ejemplos de agrupación en GitHub.

Pasos siguientes