Introduzione alle app databricks
Importante
Databricks Apps è disponibile in anteprima pubblica.
Questo articolo illustra come iniziare a usare Databricks Apps usando un esempio dettagliato per creare una semplice app nell'ambiente di sviluppo locale e distribuire l'app nell'area di lavoro di Azure Databricks. Questo esempio illustra in dettaglio:
- Creazione e test dell'app in locale.
- Dopo il test in locale, usare l'interfaccia della riga di comando di Databricks per aggiungere l'app all'area di lavoro di Azure Databricks.
- Visualizzazione della pagina dei dettagli per l'app nell'area di lavoro.
- Copia del codice sorgente e degli artefatti per l'app nell'area di lavoro.
- Visualizzazione dell'output dell'app nell'area di lavoro.
Prima di eseguire l'esempio, assicurarsi che l'area di lavoro di Azure Databricks e l'ambiente di sviluppo locale soddisfino i requisiti.
Databricks consiglia di usare un ambiente virtuale Python durante lo sviluppo di app. L'esempio in questo articolo usa pipenv per creare un ambiente virtuale. Per altre informazioni, vedere Ambienti virtuali Python: Introduzione.
Questo esempio è disponibile anche nella libreria dei modelli di Databricks Apps. Vedere Ricerca per categorie creare un'app nell'interfaccia utente di Databricks Apps?.
Passaggio 1: Configurare l'ambiente locale
Aprire un terminale ed eseguire i comandi seguenti per:
- Creare e avviare un ambiente virtuale Python.
- Installare le librerie Python richieste dall'app di esempio.
- Creare una directory locale per i file di origine e configurazione per l'app.
pipenv --python 3.11
pipenv shell
pip install gradio
pip install pandas
mkdir <app-dir-name>
cd <app-dir-name>
Sostituire <app-dir-name>
con il nome di una directory locale per i file dell'app, gradio-hello-world
ad esempio .
Passaggio 2: Aggiungere l'origine e la configurazione per l'app
In un editor di testo o nell'ambiente di sviluppo integrato preferito creare un nuovo file Python con il codice seguente e salvarlo nella directory creata. Questo esempio usa il nome file
app.py
per il file Python:import gradio as gr import pandas as pd data = pd.DataFrame({'x': [x for x in range(30)], 'y': [2 ** x for x in range(30)]}) # Display the data with Gradio with gr.Blocks(css='footer {visibility: hidden}') as gradio_app: with gr.Row(): with gr.Column(scale=3): gr.Markdown('# Hello world!') gr.ScatterPlot(value=data, height=400, width=700, container=False, x='x', y='y', y_title='Fun with data', x_title='Apps') if __name__ == '__main__': gradio_app.launch()
In un editor di testo o in un IDE creare un nuovo file YAML con il contenuto seguente e salvarlo in un file denominato
app.yaml
nella directory creata:command: [ "python", "<app-name.py>" ]
Sostituire
<app-name.py>
con il nome del file Python contenente il codice per l'app. Ad esempio:app.py
.
Passaggio 3: Testare l'app in locale
Per testare l'app in locale, aprire un terminale ed eseguire
python <app-name.py>
, sostituendo<app-name.py>
con il nome del file contenente il codice per l'app.python app.py Running on local URL: http://127.0.0.1:7860 ...
Per visualizzare l'output dell'app, aprire
http://127.0.0.1:7860
in una finestra del browser.
Passaggio 4: Distribuire l'app nell'area di lavoro
Per creare una nuova app nell'area di lavoro e distribuire il codice dall'ambiente locale all'area di lavoro, aprire un terminale e completare i passaggi seguenti.
Creare l'app nell'area di lavoro di Azure Databricks.
Nota
- Il nome assegnato a un'app Databricks non può essere modificato dopo la creazione dell'app e qualsiasi utente con accesso a un'area di lavoro di Azure Databricks può visualizzare i nomi e la cronologia di distribuzione di tutte le app Databricks nell'area di lavoro. Inoltre, il nome dell'app è incluso nei record scritti nelle tabelle di sistema. A causa di questa visibilità, non è consigliabile includere informazioni riservate quando si assegnano nomi alle app Databricks.
- Il nome deve essere univoco nell'area di lavoro di Azure Databricks che ospita l'app e deve contenere solo lettere minuscole, numeri e trattini.
databricks apps create <app-name>
Sostituire
<app-name>
con un nome per l'app. Ad esempio:gradio-hello-world
.Per visualizzare l'app nell'area di lavoro al termine del
create
comando, nella barra laterale fare clic su Calcolo, passare alla scheda App e fare clic sul collegamento all'app nella colonna Nome.Sincronizzare i file dall'ambiente locale all'area di lavoro di Azure Databricks. Il comando per sincronizzare i file dall'ambiente locale all'area di lavoro, incluso il percorso dell'area di lavoro per i file, è in Sincronizzare i file di origine in Databricks. Fare clic per copiare questo comando.
In un terminale passare alla directory contenente i file dell'app ed eseguire il comando copiato
sync
.Nota
Se nella directory dell'app locale sono presenti file o directory specifici che non si desidera trasferire dal
databricks sync
comando, aggiungere tali file o directory a un.gitignore
file nella directory dell'app locale. Ad esempio, se si dispone di una directory dell'ambiente virtuale Python nella stessa directory dell'app, aggiungere il nome della directory al.gitignore
file e il comando ignorerà tale directory durante ilsync
trasferimento dei file.databricks sync --watch . /Workspace/Users/user@databricks.com/gradio-hello-world ... Initial Sync Complete
Per visualizzare i file sincronizzati nell'area di lavoro al termine del
sync
comando, fare clic su Area di lavoro nella barra laterale e passare alla directory creata per l'app.Per distribuire l'app, eseguire il comando seguente in un terminale, sostituendo
<app-path>
con il percorso dell'area di lavoro ai file dell'app.databricks apps deploy gradio-hello-world --source-code-path <app-path>
Per visualizzare lo stato della distribuzione, passare alla pagina dei dettagli per l'app.
Per visualizzare l'output dell'app distribuita, fare clic sul collegamento dell'app sotto il nome dell'app nella pagina dei dettagli.
Passaggi successivi
Per informazioni su come creare app nell'interfaccia utente di Databricks Apps, vedere Ricerca per categorie creare un'app nell'interfaccia utente di Databricks Apps?.