Lernprogramm: Entwickeln einer Databricks-App lokal mit Databricks Connect

Mit Databricks Apps können Sie sichere Daten und KI-Anwendungen auf der Databricks-Plattform erstellen, die Sie ganz einfach für Benutzer freigeben können. Durch die Entwicklung einer Databricks-App mit PySpark und Databricks Connect können Sie die Leistungsfähigkeit von Apache Spark in Ihrer App nutzen. Ähnlich wie ein JDBC-Treiber kann Databricks Connect in jede Anwendung eingebettet werden, um mit Databricks zu interagieren. Darüber hinaus bietet Databricks Connect die volle Ausdrucksfähigkeit von Python über PySpark, sodass Sie alle Datentransformationen mit Spark on Databricks berechnen können.

Weitere Informationen zu Apps und Databricks Connect finden Sie unter Databricks Apps und Databricks Connect.

Dieses Lernprogramm führt Sie durch das Erstellen einer einfachen Databricks-App im Databricks-Arbeitsbereich und entwickeln sie dann lokal mithilfe von Databricks Connect. Die App wird auf serverloser Berechnung mit Python 3.11 und Databricks Connect 15.4.*ausgeführt. Um eine andere Version zu verwenden, müssen die Python Version und Databricks Connect-Versionen kompatibel sein. Siehe Databricks Connect-Versionen.

Tipp

Eine komplexere Beispiel-App, die Databricks Connect verwendet, finden Sie unter Databricks Demos GitHub Repository.

Anforderungen

  • Ihr Databricks-Arbeitsbereich und ihre lokale Entwicklungsumgebung müssen die Anforderungen für Databricks-Apps erfüllen. Weitere Informationen finden Sie unter Einrichten ihres Databricks-Apps-Arbeitsbereichs und ihrer Entwicklungsumgebung.
  • Ihr Databricks-Arbeitsbereich muss den Unity-Katalog aktiviert haben und serverloses Computing verfügbar sein (in Arbeitsbereichen mit Unity-Katalog standardmäßig aktiviert).
  • Databricks CLI Version 0.250.0 oder höher wird auf Ihrem lokalen Computer installiert. Führen Sie den Befehl databricks -v aus, um zu überprüfen, welche Version der Databricks-CLI installiert ist. Informationen zum Installieren der Databricks CLI finden Sie unter Installieren oder Aktualisieren der Databricks CLI.
  • Python 3.11 wird auf Ihrem lokalen Computer installiert.

Schritt 1: Konfigurieren der Authentifizierung und der serverlosen Berechnung

In diesem Tutorial werden serverloses Computing und die OAuth U2M-Authentifizierung (User-to-Machine) von Databricks und ein Databricks-Konfigurationsprofil für die Authentifizierung bei Ihrem Databricks-Arbeitsbereich verwendet.

Verwenden Sie die Databricks CLI, um die OAuth-Anmeldung zu initiieren, indem Sie den folgenden Befehl ausführen. Verwenden Sie DEFAULT den Profilnamen, und füllen Sie die Anweisungen auf dem Bildschirm aus, um sich bei Ihrem Databricks-Arbeitsbereich anzumelden.

databricks auth login --configure-serverless --host <workspace-url>

Schritt 2: Erstellen einer App

Erstellen Sie nun eine Databricks-App im Arbeitsbereich.

  1. Klicken Sie in Ihrem Databricks-Arbeitsbereich in der linken Randleiste auf +Neue>App .

  2. Wechseln Sie unter "Aus einer Vorlage installieren" zur Registerkarte Dash.

  3. Wählen Sie die Vorlage "Hello world " aus.

  4. Nennen Sie die App dash-hello-world und klicken Sie auf Installieren.

Dadurch wird eine neue App basierend auf der ausgewählten Vorlage erstellt, in Ihrem Arbeitsbereich bereitgestellt und gestartet. Um die App zu betrachten, klicken Sie auf die URL für die aktive Anwendung oben auf der Übersicht Seite:

Anzeigen der Hello World-App

Schritt 3: Kopieren der App auf Ihren lokalen Computer

Laden Sie als Nächstes den App-Quellcode auf Ihren lokalen Computer herunter.

  1. Kopieren Sie den ersten Befehl unter " Dateien synchronisieren" auf der App-Seite.

  2. Erstellen Sie in einem lokalen Terminal ein Verzeichnis dash-hello-world, und führen Sie dann den kopierten Befehl aus, z. B.:

    mkdir dash-hello-world
    cd dash-hello-world
    databricks workspace export-dir /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_01-18_38/dash-hello-world-app .
    

Der Befehl kopiert zwei neue Dateien in das Verzeichnis namens app.py und app.yaml. app.yaml definiert die Konfiguration der App, einschließlich des Einstiegspunkts und der Berechtigungen. app.py enthält den Code, der die Funktionalität und Benutzeroberfläche der App implementiert.

Schritt 4: Hinzufügen von Databricks Connect

Erstellen Sie eine Python virtuelle Umgebung für Ihre Databricks-App, und fügen Sie databricks-connect als Anforderung hinzu.

  1. Erstellen Sie eine virtuelle Umgebung namens .myvenv im Stammverzeichnis des Projektordners und aktivieren Sie sie.

    python3.11 -m venv .myvenv
    source .myvenv/bin/activate
    
  2. Aktualisieren Sie die App-Abhängigkeiten in Ihrem requirements.txt-Projekt. Fügen Sie databricks-connect==15.4.* hinzu:

    dash== 3.3.*
    dash-bootstrap-components==2.0.*
    pandas
    plotly==6.5.*
    databricks-sql-connector
    databricks-sdk
    python-dotenv
    dash-ag-grid
    databricks-connect==15.4.*
    
  3. Installieren Sie die Abhängigkeiten in requirements.txt in Ihre virtuelle Umgebung.

    pip install -r requirements.txt
    

Schritt 5: Ändern der App und Lokales Testen

Passen Sie Ihre App lokal an und entwickeln Sie sie.

  1. Aktualisieren Sie app.py , um Daten aus Databricks mithilfe von Databricks Connect zu lesen und Apache Spark zum Durchführen von Datentransformationen zu nutzen. Fügen Sie außerdem Code hinzu, um die Daten interaktiv zu gestalten, eine Formatierungsoption hinzuzufügen und Datenuploads zuzulassen.

    # app.py
    
    import pandas as pd
    from dash import Dash, dcc, html
    import plotly.express as px
    import dash_bootstrap_components as dbc
    from databricks.connect.session import DatabricksSession
    from pyspark.sql.functions import col
    
    spark = DatabricksSession.builder.serverless().getOrCreate()
    # Data transformations with Spark in Python
    df = (spark.read.table("samples.nyctaxi.trips")
            .select('trip_distance', 'fare_amount')
            .filter(col('trip_distance') < 10)
            .limit(1000))
    
    chart_data = df.toPandas()
    
    # Initialize the Dash app with Bootstrap styling
    dash_app = Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
    
    # Define the app layout
    dash_app.layout = dbc.Container([
        dbc.Row([dbc.Col(html.H1('Trip cost by distance'), width=12)]),
        dcc.Graph(
            id='fare-scatter',
            figure=px.scatter(chart_data, x='trip_distance', y='fare_amount',
                labels={'trip_distance': 'Trip distance (miles)', 'fare_amount': 'Fare amount (USD)'},
                template='simple_white'),
            style={'height': '500px', 'width': '1000px'}
        )
    ], fluid=True)
    
    if __name__ == '__main__':
        dash_app.run(debug=True)
    
  2. Führen Sie Ihre App aus, und testen Sie sie lokal. Sie können entweder Python oder die Databricks CLI verwenden, um sie auszuführen.

    • Führen Sie die Python-App aus.

      python app.py
      

      Öffnen Sie ein Browserfenster und navigieren Sie zu http://127.0.0.1:8050/, um die App anzuzeigen.

    • Oder verwenden Sie den databricks apps run-local Befehl, um die App auszuführen und zu debuggen. Dieser Befehl installiert alle Abhängigkeiten und bereitet die virtuelle Umgebung vor, startet dann die App und den Debugger auf Port 5678.

      databricks apps run-local --prepare-environment --debug
      

      Öffnen Sie ein Browserfenster und navigieren Sie zu http://localhost:8001, um die App anzuzeigen.

      Um Haltepunkte in Visual Studio Code festzulegen, installieren Sie die Python Debuggererweiterung, und wechseln Sie dann zu Run>Start Debugging>Remote Attach.

Die Reisekosten-App lokal ansehen

Schritt 6: Erneutes Bereitstellen der App

Laden Sie schließlich Ihre lokal geänderte App in Ihren Databricks-Arbeitsbereich hoch, und stellen Sie sie für die Berechnung bereit.

Von Bedeutung

Um das Hochladen Ihrer gesamten Python virtuellen Umgebung in Databricks zu vermeiden, sollte Ihr Projekt entweder im Stammverzeichnis mit .gitignore oder innerhalb des Ordners .myvenv, der diese Dateien ausschließt, eine .myvenvDatei enthalten.

  1. Klicken Sie in Ihrem Databricks-Arbeitsbereich auf "Berechnen" und dann auf "Apps". Wählen Sie die dash-hello-world App aus.

  2. Kopieren Sie unter " Dateien synchronisieren" den Befehl unter "Zukünftige Änderungen synchronisieren" wieder in "Databricks ", und führen Sie ihn aus ihrem lokalen App-Projektordner aus:

    databricks sync --watch . /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app
    
  3. Um die geänderte App für die Berechnung bereitzustellen, kopieren Sie den Befehl unter "In Databricks-Apps bereitstellen " auf der App-Seite, und führen Sie sie aus ihrem lokalen App-Projektordner aus:

    databricks apps deploy dash-hello-world --source-code-path /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app
    

Wenn die Bereitstellung erfolgreich ist, gibt der Befehl bestätigungs-JSON aus:

{
  "create_time": "2025-12-06T01:30:16Z",
  "creator": "someone@example.com",
  "deployment_artifacts": {
    "source_code_path": "/Workspace/Users/1234abcd-5678-90ab-cdef-123456abcdef/src/abcd1234efgh5678ijkl9012mnop3456"
  },
  "deployment_id": "abcd1234efgh5678ijkl9012mnop3456",
  "mode": "SNAPSHOT",
  "source_code_path": "/Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app",
  "status": {
    "message": "App started successfully",
    "state": "SUCCEEDED"
  },
  "update_time": "2025-12-06T01:30:20Z"
}

Weitere Ressourcen