Che cos'è Databricks Apps?
Importante
Databricks Apps è disponibile in anteprima pubblica.
Databricks Apps consente agli sviluppatori di creare applicazioni di dati e intelligenza artificiale sicure nella piattaforma Databricks e di condividerle con gli utenti.
In precedenza, la creazione di applicazioni di dati e intelligenza artificiale che usano dati gestiti da un'area di lavoro di Databricks e le funzionalità di analisi dei dati della piattaforma Databricks richiedevano la distribuzione di un'infrastruttura separata per ospitare applicazioni, garantendo la conformità con i controlli di governance dei dati, la gestione della sicurezza delle applicazioni, inclusa l'autenticazione e l'autorizzazione e così via. Con Databricks Apps, Databricks ospita le app, quindi non è necessario configurare o distribuire un'infrastruttura aggiuntiva.
Le app possono usare le risorse e le funzionalità della piattaforma Databricks, tra cui Unity Catalog per la governance, Databricks SQL per eseguire query sui dati, funzionalità di intelligenza artificiale come la gestione dei modelli, i processi di Databricks per ETL e le regole di sicurezza già configurate nell'area di lavoro, incluse le regole che controllano l'accesso ai dati usati dall'app. L'autenticazione e l'autorizzazione usano le funzionalità di Azure Databricks esistenti, incluse le entità servizio e OAuth.
Databricks ha progettato App Databricks per sviluppatori. Le app vengono sviluppate in Python usando qualsiasi framework, ad esempio Dash, Streamlit o Gradio. Poiché le app sono portabili, è possibile crearle ed eseguirne il debug in locale, distribuirle in un'area di lavoro di Databricks e quindi spostarle in un'altra area di lavoro.
Fabbisogno
Requisiti dell'area di lavoro
Per distribuire ed eseguire app nell'area di lavoro di Azure Databricks, l'area di lavoro deve soddisfare i requisiti seguenti:
- È necessario assicurarsi che il firewall non blocchi il dominio
*.databricksapps.com
. - L'area di lavoro di Databricks deve trovarsi in un'area supportata. Vedere disponibilità delle funzionalità serverless.
Requisiti dell'ambiente di sviluppo
Per creare app in locale e distribuire tali app nell'area di lavoro di Azure Databricks, l'ambiente di sviluppo deve soddisfare i requisiti seguenti:
Python 3.11 o versione successiva.
Interfaccia della riga di comando di Databricks (interfaccia della riga di comando di Databricks), versione 0.229.0 o successiva, configurata per accedere all'area di lavoro di Databricks. Per installare o aggiornare e configurare l'interfaccia della riga di comando di Databricks, vedere Installare o aggiornare l'interfaccia della riga di comando di Databricks e l'autenticazione per l'interfaccia della riga di comando di Databricks.
Databricks SDK per Python. È possibile installare l'SDK con
pip3
:pip3 install databricks-sdk
Vedere Databricks SDK per Python.
(Facoltativo) Se l'app deve accedere a Databricks SQL, installare databricks SQL Connector per Python. È possibile installare il connettore con
pip3
:pip3 install databricks-sql-connector
Dove si sviluppa un'app Databricks?
È possibile scrivere e testare app in qualsiasi IDE che supporta Python, ad esempio PyCharm, IntelliJ IDEA o Visual Studio Code. Databricks consiglia di sviluppare app usando Visual Studio Code e l'estensione Databricks per Visual Studio Code, ma è anche possibile usare il notebook e l'editor di file di Databricks per modificare il codice direttamente nell'area di lavoro di Databricks.
Ricerca per categorie sviluppare e distribuire un'app Databricks?
Per sviluppare un'app in locale, di seguito è riportato un flusso di lavoro tipico:
- Sviluppare l'app nell'IDE preferito, ad esempio Visual Studio Code.
- Eseguire l'app in locale nella riga di comando e visualizzarla nel browser.
- Al termine e al test del codice, spostare il codice e gli artefatti necessari nell'area di lavoro di Databricks.
Vedere Introduzione alle app di Databricks.
Per creare un'app nell'interfaccia utente o usando un esempio predefinito, vedere Ricerca per categorie creare un'app nell'interfaccia utente di Databricks Apps?.
È possibile usare framework Python con l'app Databricks?
È possibile sviluppare l'app usando i framework Python preferiti, ad esempio Dash, Streamlit o Gradio. È possibile visualizzare esempi che usano framework Python più diffusi nell'interfaccia utente di Databricks Apps. Vedere Ricerca per categorie creare un'app nell'interfaccia utente di Databricks Apps?.
In che modo Databricks Apps gestisce l'autorizzazione?
Il modello di autorizzazione di Databricks Apps include l'utente che accede all'app e un'entità servizio gestita di Azure Databricks assegnata all'app:
Per accedere a un'app, un utente deve avere autorizzazioni CAN_USE o CAN_MANAGE per l'app. Per altre informazioni sull'assegnazione di autorizzazioni a un'app, vedere Configurare le autorizzazioni per l'app Databricks.
Quando viene creata un'app, Databricks Apps crea automaticamente un'entità servizio gestita di Azure Databricks e assegna tale entità servizio all'app. Questa entità servizio ha accesso solo all'area di lavoro in cui viene creata l'app e viene usata per autenticare e autorizzare l'accesso alle risorse nell'area di lavoro, ad esempio i warehouse SQL, i modelli che servono gli endpoint o gli oggetti a protezione diretta in Unity Catalog. Tutti gli accessi da parte di un'app ai dati o ad altre risorse dell'area di lavoro vengono eseguiti per conto dell'entità servizio, non del proprietario o dell'utente dell'app.
Databricks Apps concede automaticamente le autorizzazioni dell'entità servizio a qualsiasi risorsa assegnata all'app se l'utente che distribuisce l'app dispone
CAN MANAGE
dell'autorizzazione per tali risorse. Se è necessario l'accesso da parte dell'entità servizio ad altre risorse, ad esempio tabelle o file dell'area di lavoro, un account o un amministratore dell'area di lavoro deve concedere all'entità servizio l'accesso a tali risorse. Quando si concede l'accesso alle risorse, Databricks consiglia di seguire il principio dei privilegi minimi e di concedere all'entità servizio solo le autorizzazioni minime necessarie. Vedere Gestire le entità servizio.Il nome dell'entità servizio è disponibile nella pagina dei dettagli dell'app nella scheda Risorse dell'app. L'entità servizio include il nome dell'app, ad esempio per un'app denominata
my-hello-world-app
, il nome dell'entità servizio èapp-22ixod my-hello-world-app
.
Chi può creare app Databricks?
Qualsiasi utente in un'area di lavoro può creare app. Tuttavia, per gestire le autorizzazioni dell'entità servizio assegnata a un'app, è necessario essere un account o un amministratore dell'area di lavoro.
Ricerca per categorie configurare l'app Databricks?
Databricks Apps imposta automaticamente diverse variabili di ambiente a cui l'app può accedere, ad esempio l'host Databricks in cui è in esecuzione l'app. È anche possibile impostare parametri personalizzati usando un file YAML. Vedere Configurazione di Databricks Apps.
Ricerca per categorie integrare l'app Databricks con i servizi Azure Databricks?
Le app possono usare funzionalità della piattaforma Databricks come Databricks SQL per eseguire query sui dati, processi di Databricks per l'inserimento e l'elaborazione dei dati, Mosaic AI Model Serving per accedere ai modelli di intelligenza artificiale generativi e segreti di Databricks per gestire le informazioni riservate. Quando si configura l'app, queste funzionalità della piattaforma Databricks vengono definite risorse.
Tuttavia, poiché le app sono progettate per essere portabili, Databricks consiglia che le app non dipendono da risorse specifiche. Ad esempio, l'app non deve essere hardcoded per usare un particolare sql warehouse. Configurare invece SQL Warehouse nell'interfaccia utente di Databricks Apps durante la creazione o l'aggiornamento di un'app.
Inoltre, poiché le app sono configurate per l'esecuzione con i privilegi minimi necessari, non devono creare nuove risorse. Devono invece basarsi sulla piattaforma Databricks per risolvere i servizi dipendenti esistenti. A ogni app è assegnata un'entità servizio Databricks. Durante la creazione o l'aggiornamento dell'app, all'entità servizio vengono concesse le autorizzazioni necessarie per le dipendenze delle risorse definite.
Per altre informazioni sull'aggiunta di funzionalità della piattaforma Databricks come risorse dell'app, vedere Assegnare le funzionalità della piattaforma Databricks a un'app Databricks.
Dove è possibile trovare i log di controllo per le app Databricks?
Per trovare gli eventi di controllo per le app, usare le tabelle di sistema di Azure Databricks. È possibile usare le tabelle di sistema per eseguire query:
- Accede a un'app. Vedere Quali utenti hanno eseguito l'accesso a un'app Databricks?.
- Autorizzazione o condivisione delle modifiche apportate alle app. Vedi Quali app di Databricks sono state aggiornate per modificare il modo in cui l'app viene condivisa con altri utenti o gruppi?.
Qual è il costo per le app Databricks?
Per informazioni sui prezzi per le app di Databricks, vedere Calcolo per le app.
Ambiente di sistema di Databricks Apps
Nota
Per visualizzare l'ambiente per un'app specifica, incluse le variabili di ambiente e i pacchetti installati, passare alla scheda Ambiente nella pagina dei dettagli per l'app. Vedere Visualizzare i dettagli per un'app Databricks.
Di seguito viene descritto l'ambiente di sistema in cui vengono eseguite le app, le risorse disponibili per l'app e le versioni delle applicazioni e delle librerie installate.
- Sistema operativo: Ubuntu 22.04 LTS
- Python: 3.11.0. Le app vengono eseguite in un ambiente virtuale Python. Tutte le dipendenze vengono installate in questo ambiente virtuale, incluse le librerie installate automaticamente e tutte le librerie installate, ad esempio con un
requirements.txt
file. - Risorse di sistema: le app possono usare fino a due CPU virtuali (vCPU) e 6 GB di memoria. L'app potrebbe essere riavviata se supera le risorse allocate.
Librerie Python installate
Library | Versione |
---|---|
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 |
trattino | 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 |
Limiti
Esiste un limite di 10 app in un'area di lavoro di Databricks.
I file usati da un'app non possono superare le dimensioni di 10 MB. Se un file nella directory dell'app supera questo limite, la distribuzione dell'app non riesce con un errore.
Databricks Apps non soddisfa gli standard di conformità HIPAA, PCI o FedRAMP.
I log creati da un'app non vengono salvati in modo permanente quando l'hosting dell'app nell'ambiente di calcolo di Azure Databricks viene terminato. Vedere Registrazione dall'app Databricks.
Poiché non supportano OAuth, non è possibile usare URL regionali legacy con Databricks Apps.