Compartir a través de


¿Qué es Databricks Apps?

Importante

Databricks Apps está en versión preliminar pública.

Databricks Apps permite a los desarrolladores crear aplicaciones de inteligencia artificial y datos seguros en la plataforma de Databricks y compartir esas aplicaciones con los usuarios.

Anteriormente, la creación de aplicaciones de datos e inteligencia artificial que usan datos administrados por un área de trabajo de Databricks y las características de análisis de datos de la plataforma de Databricks requerían la implementación de una infraestructura independiente para hospedar aplicaciones, lo que garantizaba el cumplimiento de los controles de gobernanza de datos, la administración de la seguridad de las aplicaciones, incluida la autenticación y la autorización, etc. Con Databricks Apps, Databricks hospeda las aplicaciones, por lo que no es necesario configurar ni implementar una infraestructura adicional.

Las aplicaciones pueden usar los recursos y características de la plataforma de Databricks, incluido el Catálogo de Unity para la gobernanza, Databricks SQL para consultar datos, características de inteligencia artificial como servicio de modelos, trabajos de Databricks para ETL y las reglas de seguridad ya configuradas en el área de trabajo, incluidas las reglas que controlan el acceso a los datos usados por la aplicación. La autenticación y autorización usan la funcionalidad de Azure Databricks existente, incluidas OAuth y entidades de servicio.

Databricks diseñó Aplicaciones de Databricks para desarrolladores. Las aplicaciones se desarrollan en Python mediante cualquier marco como Dash, Streamlit o Gradio. Dado que las aplicaciones son portátiles, puede crearlas y depurarlas localmente, implementarlas en un área de trabajo de Databricks y, a continuación, moverlas a otra área de trabajo.

Requisitos

Requisitos del área de trabajo

Para implementar y ejecutar aplicaciones en el área de trabajo de Azure Databricks, el área de trabajo debe cumplir los siguientes requisitos:

  • Debe asegurarse de que el firewall no bloquee el dominio *.databricksapps.com.
  • El área de trabajo de Databricks debe estar en una región compatible. Consulte disponibilidad de características sin servidor.

Requisitos del entorno de desarrollo

Para crear aplicaciones localmente e implementarlas en el área de trabajo de Azure Databricks, el entorno de desarrollo debe cumplir los siguientes requisitos:

  • Python 3.11 o superior.

  • La interfaz de la línea de comandos de Databricks (CLI de Databricks), versión v0.229.0 o posterior, configurada para acceder al área de trabajo de Databricks. Para instalar o actualizar y configurar la CLI de Databricks, consulte Instalación o actualización de la CLI y autenticación de Databricks para la CLI de Databricks.

  • SDK de Databricks para Python. Puede instalar el SDK con pip3:

    pip3 install databricks-sdk

    Consulte SDK de Databricks para Python.

  • (Opcional) Si la aplicación necesita acceder a Databricks SQL, instale databricks SQL Connector para Python. Puede instalar el conector con pip3:

    pip3 install databricks-sql-connector

¿Dónde puedo desarrollar una aplicación de Databricks?

Puede escribir y probar aplicaciones en cualquier IDE que admita Python, como PyCharm, IntelliJ IDEA o Visual Studio Code. Databricks recomienda desarrollar las aplicaciones con Visual Studio Code y la extensión databricks para Visual Studio Code, pero también puede usar el cuaderno y el editor de archivos de Databricks para editar el código directamente en el área de trabajo de Databricks.

Cómo desarrollar e implementar una aplicación de Databricks?

Para desarrollar una aplicación localmente, lo siguiente es un flujo de trabajo típico:

  • Desarrolle la aplicación en el IDE preferido, como Visual Studio Code.
  • Ejecute la aplicación localmente en la línea de comandos y la vea en el explorador.
  • Una vez completado y probado el código, mueva el código y los artefactos necesarios al área de trabajo de Databricks.

Consulte Introducción a Las aplicaciones de Databricks.

Para crear una aplicación en la interfaz de usuario o usar un ejemplo pregenerado, consulte Cómo crear una aplicación en la interfaz de usuario de Databricks Apps.

¿Puedo usar marcos de Python con mi aplicación de Databricks?

Puede desarrollar la aplicación con sus marcos de Python favoritos, como Dash, Streamlit o Gradio. Puede ver ejemplos que usan marcos populares de Python en la interfaz de usuario de Databricks Apps. Consulte Cómo crear una aplicación en la interfaz de usuario de Databricks Apps.

¿Cómo administra Databricks Apps la autorización?

El modelo de autorización de Databricks Apps incluye el usuario que accede a la aplicación y una entidad de servicio administrada de Azure Databricks asignada a la aplicación:

  • Para acceder a una aplicación, un usuario debe tener permisos CAN_USE o CAN_MANAGE en la aplicación. Para más información sobre cómo asignar permisos a una aplicación, consulte Configuración de permisos para la aplicación de Databricks.

  • Cuando se crea una aplicación, Databricks Apps crea automáticamente una entidad de servicio administrada de Azure Databricks y asigna esa entidad de servicio a la aplicación. Esta entidad de servicio tiene acceso solo al área de trabajo en la que se crea la aplicación y se usa para autenticar y autorizar el acceso a los recursos del área de trabajo, como almacenes de SQL, modelos que sirven puntos de conexión o objetos protegibles en el catálogo de Unity. Todo el acceso de una aplicación a datos u otros recursos del área de trabajo se realiza en nombre de la entidad de servicio, no en el propietario de la aplicación ni en el usuario.

    Databricks Apps concede automáticamente los permisos de entidad de servicio a los recursos asignados a la aplicación si el usuario que implementa la aplicación tiene CAN MANAGE permiso para esos recursos. Si se requiere acceso de la entidad de servicio a otros recursos, por ejemplo, tablas o archivos de área de trabajo, una cuenta o administrador del área de trabajo debe conceder acceso a la entidad de servicio a esos recursos. Al conceder acceso a los recursos, Databricks recomienda seguir el principio de privilegios mínimos y conceder a la entidad de servicio solo los permisos mínimos necesarios. Consulte: Administración de entidades de servicio.

    El nombre de la entidad de servicio se puede encontrar en la página de detalles de la aplicación en la tarjeta Recursos de la aplicación. La entidad de servicio incluye el nombre de la aplicación, por ejemplo, para una aplicación denominada my-hello-world-app, el nombre de la entidad de servicio es app-22ixod my-hello-world-app.

¿Quién puede crear aplicaciones de Databricks?

Cualquier usuario de un área de trabajo puede crear aplicaciones. Sin embargo, para administrar los permisos de la entidad de servicio asignada a una aplicación, debe ser una cuenta o administrador del área de trabajo.

Cómo configurar mi aplicación de Databricks?

Databricks Apps establece automáticamente varias variables de entorno a las que puede acceder la aplicación, como el host de Databricks en el que se ejecuta la aplicación. También puede establecer parámetros personalizados mediante un archivo YAML. Consulte Configuración de Databricks Apps.

Cómo integrar mi aplicación de Databricks con los servicios de Azure Databricks?

Las aplicaciones pueden usar características de la plataforma de Databricks, como Databricks SQL, para consultar datos, trabajos de Databricks para la ingesta y el procesamiento de datos, mosaic AI Model Serving para acceder a modelos de inteligencia artificial generativos y secretos de Databricks para administrar información confidencial. Al configurar la aplicación, estas características de la plataforma de Databricks se conocen como recursos.

Sin embargo, dado que las aplicaciones están diseñadas para ser portátiles, Databricks recomienda que las aplicaciones no dependan de recursos específicos. Por ejemplo, la aplicación no debe codificarse de forma dura para usar un almacenamiento SQL determinado. En su lugar, configure SQL Warehouse en la interfaz de usuario de Databricks Apps al crear o actualizar una aplicación.

Además, dado que las aplicaciones están configuradas para ejecutarse con los privilegios mínimos necesarios, no deben crear nuevos recursos. En su lugar, deben confiar en la plataforma de Databricks para resolver los servicios dependientes existentes. Cada aplicación tiene asignada una entidad de servicio de Databricks. Durante la creación o actualización de la aplicación, a la entidad de servicio se le conceden permisos necesarios en las dependencias de recursos definidas.

Para más información sobre cómo agregar características de plataforma de Databricks como recursos de aplicación, consulte Asignación de características de plataforma de Databricks a una aplicación de Databricks.

¿Dónde puedo encontrar registros de auditoría para mis aplicaciones de Databricks?

Para buscar eventos de auditoría para aplicaciones, use las tablas del sistema de Azure Databricks. Puede usar las tablas del sistema para consultar:

¿Cuál es el costo de Las aplicaciones de Databricks?

Para obtener información sobre los precios de Databricks Apps, consulte Compute for Apps.

El entorno del sistema de Databricks Apps

Nota:

Para ver el entorno de una aplicación específica, incluidas las variables de entorno y los paquetes instalados, vaya a la pestaña Entorno en la página de detalles de la aplicación. Consulte Visualización de los detalles de una aplicación de Databricks.

A continuación se describe el entorno del sistema en el que se ejecutan las aplicaciones, los recursos disponibles para la aplicación y las versiones de las aplicaciones y bibliotecas instaladas.

  • Sistema operativo: Ubuntu 22.04 LTS
  • Python: 3.11.0. Las aplicaciones se ejecutan en un entorno virtual de Python. Todas las dependencias se instalan en este entorno virtual, incluidas las bibliotecas instaladas automáticamente y las bibliotecas que instale, por ejemplo, con un requirements.txt archivo.
  • Recursos del sistema: las aplicaciones pueden usar hasta dos CPU virtuales (vCPU) y 6 GB de memoria. Es posible que la aplicación se reinicie si supera los recursos asignados.

Bibliotecas de Python instaladas

Biblioteca Versión
databricks-sql-connector 3.4.0
databricks-sdk 0.33.0
mlflow-skinny 2.16.2
gradio 4.44.0
streamlit 1.38.0
shiny 1.1.0
guión 2.18.1
flask 3.0.3
fastapi 0.115.0
uvicorn[standard] 0.30.6
gunicorn 23.0.0
dash-ag-grid 31.2.0
dash-mantine-components 0.14.4
dash-bootstrap-components 1.6.0
plotly 5.24.1
plotly-resampler 0.10.0

Limitaciones

  • Hay un límite de 10 aplicaciones en un área de trabajo de Databricks.

  • Los archivos usados por una aplicación no pueden superar los 10 MB de tamaño. Si un archivo del directorio de la aplicación supera este límite, se produce un error en la implementación de la aplicación.

  • Databricks Apps no cumple los estándares de cumplimiento hipaa, PCI o FedRAMP.

  • Los registros creados por una aplicación no se conservan cuando finaliza el proceso de Azure Databricks que hospeda la aplicación. Consulte Registro desde la aplicación de Databricks.

  • Dado que no admiten OAuth, no puede usar direcciones URL regionales heredadas con Databricks Apps.