Aan de slag met Databricks-apps
Belangrijk
Databricks-apps is beschikbaar als openbare preview.
Dit artikel helpt u aan de slag te gaan met Databricks-apps met behulp van een stapsgewijs voorbeeld om een eenvoudige app te maken in uw lokale ontwikkelomgeving en de app te implementeren in uw Azure Databricks-werkruimte. In dit voorbeeld wordt u begeleid bij het volgende:
- De app lokaal maken en testen.
- Nadat u de app lokaal hebt getest, gebruikt u de Databricks CLI om de app toe te voegen aan uw Azure Databricks-werkruimte.
- Bekijk de detailpagina voor de app in uw werkruimte.
- Kopieer de broncode en artefacten voor de app naar uw werkruimte.
- Bekijk de uitvoer van de app in uw werkruimte.
Voordat u het voorbeeld doorloopt, moet u ervoor zorgen dat uw Azure Databricks-werkruimte en lokale ontwikkelomgeving aan de vereisten voldoen.
Databricks raadt aan om een virtuele Python-omgeving te gebruiken bij het ontwikkelen van apps. In het voorbeeld in dit artikel wordt pipenv gebruikt om een virtuele omgeving te maken. Zie Virtuele Python-omgevingen voor meer informatie: Een primer.
Dit voorbeeld is ook beschikbaar in de Databricks Apps-sjabloonbibliotheek. Zie Hoe kan ik een app maken in de gebruikersinterface van Databricks Apps?
Stap 1: Uw lokale omgeving instellen
Open een terminal en voer de volgende opdrachten uit om:
- Een virtuele Python-omgeving maken en starten.
- Installeer de Python-bibliotheken die zijn vereist voor de voorbeeld-app.
- Maak een lokale map voor de bron- en configuratiebestanden voor uw app.
pipenv --python 3.11
pipenv shell
pip install gradio
pip install pandas
mkdir <app-dir-name>
cd <app-dir-name>
Vervang <app-dir-name>
bijvoorbeeld door de naam van een lokale map voor uw app-bestanden gradio-hello-world
.
Stap 2: De bron en configuratie voor uw app toevoegen
Maak in een teksteditor of uw favoriete IDE (Integrated Development Environment) een nieuw Python-bestand met de volgende code en sla het op in de map die u hebt gemaakt. In dit voorbeeld wordt de bestandsnaam
app.py
voor het Python-bestand gebruikt: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()
Maak in een teksteditor of een IDE een nieuw YAML-bestand met de volgende inhoud en sla het op in een bestand met de naam
app.yaml
in de map die u hebt gemaakt:command: [ "python", "<app-name.py>" ]
Vervang
<app-name.py>
door de naam van het Python-bestand met de code voor de app. Bijvoorbeeld:app.py
.
Stap 3: Uw app lokaal testen
Als u uw app lokaal wilt testen, opent u een terminal en voert u deze uit en vervangt
python <app-name.py>
<app-name.py>
u de naam van het bestand met de code voor de app.python app.py Running on local URL: http://127.0.0.1:7860 ...
Als u de uitvoer van de app wilt weergeven, opent
http://127.0.0.1:7860
u deze in een browservenster.
Stap 4: De app implementeren in uw werkruimte
Als u een nieuwe app in uw werkruimte wilt maken en de code vanuit uw lokale omgeving wilt implementeren in de werkruimte, opent u een terminal en voert u de volgende stappen uit.
Maak de app in uw Azure Databricks-werkruimte.
Notitie
- De naam die is toegewezen aan een Databricks-app kan niet worden gewijzigd nadat de app is gemaakt en elke gebruiker met toegang tot een Azure Databricks-werkruimte kan de namen en implementatiegeschiedenis van alle Databricks-apps in de werkruimte zien. Daarnaast wordt de naam van de app opgenomen in records die naar systeemtabellen zijn geschreven. Vanwege deze zichtbaarheid moet u geen gevoelige informatie opnemen bij het benoemen van uw Databricks-apps.
- De naam moet uniek zijn in de Azure Databricks-werkruimte die als host fungeert voor de app en mag alleen kleine letters, cijfers en afbreekstreepjes bevatten.
databricks apps create <app-name>
Vervang
<app-name>
door een naam voor uw app. Bijvoorbeeld:gradio-hello-world
.Als u de app in uw werkruimte wilt weergeven wanneer de
create
opdracht is voltooid, klikt u in de zijbalk op Compute, gaat u naar het tabblad Apps en klikt u op de koppeling naar uw app in de kolom Naam.Synchroniseer de bestanden vanuit uw lokale omgeving met uw Azure Databricks-werkruimte. De opdracht voor het synchroniseren van de bestanden vanuit uw lokale omgeving naar uw werkruimte, inclusief het werkruimtepad voor de bestanden, bevindt zich onder Bronbestanden synchroniseren in Databricks. Klik hier om deze opdracht te kopiëren.
Ga in een terminal naar de map met uw app-bestanden en voer de gekopieerde
sync
opdracht uit.Notitie
Als er specifieke bestanden of mappen in uw lokale app-map staan die u niet wilt overdragen door de
databricks sync
opdracht, voegt u deze bestanden of mappen toe aan een.gitignore
bestand in de lokale app-map. Als u bijvoorbeeld een virtuele Python-omgevingsmap hebt in dezelfde map als uw app, voegt u de naam van de map toe aan het.gitignore
bestand en slaat desync
opdracht die map over wanneer u bestanden overdraagt.databricks sync --watch . /Workspace/Users/user@databricks.com/gradio-hello-world ... Initial Sync Complete
Als u de gesynchroniseerde bestanden in uw werkruimte wilt weergeven wanneer de
sync
opdracht is voltooid, klikt u op Werkruimte in de zijbalk en gaat u naar de map die voor uw app is gemaakt.Als u de app wilt implementeren, voert u de volgende opdracht uit in een terminal, waarbij u het werkruimtepad naar uw app-bestanden vervangt
<app-path>
.databricks apps deploy gradio-hello-world --source-code-path <app-path>
Als u de implementatiestatus wilt weergeven, gaat u naar de pagina met details voor de app.
Als u de uitvoer van de geïmplementeerde app wilt weergeven, klikt u op de app-koppeling onder de naam van de app op de pagina met details.
Volgende stappen
Zie Hoe kan ik een app maken in de gebruikersinterface van Databricks Apps voor meer informatie over het maken van apps in de gebruikersinterface van Databricks Apps.