Oktatóanyag: Databricks-alkalmazás helyi fejlesztése a Databricks Connect használatával

A Databricks Apps segítségével biztonságos adatokat és AI-alkalmazásokat hozhat létre a Databricks platformon, amelyeket egyszerűen megoszthat a felhasználókkal. A Databricks-alkalmazás PySparkkal és Databricks Connecttel való fejlesztésével kihasználhatja az Apache Spark előnyeit az alkalmazásban. A JDBC-illesztőkhöz hasonlóan a Databricks Connect bármilyen alkalmazásba beágyazható a Databricks használatához. A Databricks Connect emellett a PySparkon keresztül biztosítja a Python teljes kifejezőképességét, lehetővé téve az összes adatátalakítás futtatását a Spark on Databricks compute használatával.

Az alkalmazásokról és a Databricks Connectről további információt a Databricks Apps és a Databricks Connect című témakörben talál.

Ez az oktatóanyag bemutatja, hogyan hozhat létre egy egyszerű Databricks-alkalmazást a Databricks-munkaterületen, majd helyileg fejlesztheti a Databricks Connect használatával. Az alkalmazás kiszolgáló nélküli számításon fut a Python 3.11-es és a Databricks Connect 15.4.*-os verzióval. Egy másik verzió használatához a Python és a Databricks Connect verziójának kompatibilisnek kell lennie. Lásd a Databricks Connect verzióit.

Jótanács

A Databricks Connectet használó fejlettebb mintaalkalmazásokért tekintse meg a Databricks Demos GitHub adattárat.

Requirements

1. lépés: Hitelesítés és kiszolgáló nélküli számítás konfigurálása

Ez az oktatóanyag kiszolgáló nélküli számítási és Databricks OAuth felhasználói (U2M) hitelesítést és Databricks-konfigurációs profilt használ a Databricks-munkaterületre való hitelesítéshez.

Az OAuth-bejelentkezést a Databricks parancssori felületével kezdeményezheti az alábbi parancs futtatásával. Használja DEFAULT profilnévként, és végezze el a képernyőn megjelenő utasításokat a Databricks-munkaterületre való bejelentkezéshez.

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

2. lépés: Alkalmazás létrehozása

Most hozzon létre egy Databricks-alkalmazást a munkaterületen.

  1. A Databricks-munkaterületen kattintson az + Új>alkalmazás elemre a bal oldali oldalsávon.

  2. A Sablonból történő telepítés alatt menjen át a Műszerfal fülre.

  3. Válassza a Hello world sablont.

  4. Nevezze el az alkalmazást dash-hello-world névvel , és kattintson a Telepítés gombra.

Ezzel létrehoz egy új alkalmazást a kiválasztott sablon alapján, üzembe helyezi azt a munkaterületen, és elindítja azt. Az alkalmazás megtekintéséhez kattintson az Áttekintés lap tetején található Futó URL-címre:

A hello world alkalmazás megtekintése

3. lépés: Az alkalmazás másolása a helyi gépre

Ezután töltse le az alkalmazás forráskódját a helyi gépre.

  1. Másolja ki az első parancsot az alkalmazáslap fájljainak szinkronizálása csoportban.

  2. Hozzon létre egy könyvtárat dash-hello-worldegy helyi terminálban, majd futtassa a másolt parancsot, például:

    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 .
    

A parancs két új fájlt másol a névvel ellátott app.py könyvtárba.app.yaml app.yaml Meghatározza az alkalmazás konfigurációját, beleértve annak belépési pontját és engedélyeit. app.py az alkalmazás funkcióit és felhasználói felületét megvalósító kódot tartalmazza.

4. lépés: Databricks Connect hozzáadása

Hozzon létre egy Python virtuális környezetet a Databricks-alkalmazáshoz, és adjon hozzá databricks-connect követelményként.

  1. Hozzon létre egy virtuális környezetet .myvenv a projektmappa gyökerénél, és aktiválja azt:

    python3.11 -m venv .myvenv
    source .myvenv/bin/activate
    
  2. Frissítse az alkalmazásfüggőségeket a requirements.txt projektben. Adja hozzá databricks-connect==15.4.*:

    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. Telepítse a függőségeket a requirements.txt virtuális környezetbe:

    pip install -r requirements.txt
    

5. lépés: Az alkalmazás módosítása és helyi tesztelés

Az alkalmazás helyi testreszabása és fejlesztése.

  1. Frissítse a -t úgy, hogy adatokat olvasson be a Databricksből a Databricks Connect használatával, és használja az Apache Sparkot az adatátalakítások elvégzéséhez. Emellett adjon hozzá kódot az adatok interaktívsá tétele, stílusbeállítás hozzáadása és az adatfeltöltések engedélyezése érdekében.

    # 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. Futtassa és tesztelje az alkalmazást a saját gépén. A futtatásához használhatja a Python vagy a Databricks parancssori felületét.

    • Futtassa a Python alkalmazást.

      python app.py
      

      Navigáljon http://127.0.0.1:8050/ egy böngészőablakba az alkalmazás megtekintéséhez.

    • Vagy használja a parancsot az databricks apps run-local alkalmazás futtatásához és hibakereséséhez. Ez a parancs telepíti az összes függőséget, és előkészíti a virtuális környezetet, majd elindítja az alkalmazást és a hibakeresőt az 5678-os porton.

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

      Navigáljon http://localhost:8001 egy böngészőablakba az alkalmazás megtekintéséhez.

      Töréspontok beállításához a Visual Studio Code-ban telepítse a Python hibakereső bővítményt, majd lépjen a Futtatás>Hibakeresés indítása>Távoli csatlakozás lehetőségre.

Az utazási költség alkalmazás helyi megtekintése

6. lépés: Az alkalmazás ismételt üzembe helyezése

Végül töltse fel a helyileg módosított alkalmazást a Databricks-munkaterületre, és telepítse a számításhoz.

Fontos

A teljes Python virtuális környezet Databricksbe való feltöltésének elkerülése érdekében a projekt gyökerében kell lennie egy .gitignore fájlnak, amely tartalmazza a .myvenv-t, vagy a .myvenv mappán belül, kizárva ezeket a fájlokat.

  1. A Databricks-munkaterületen kattintson a Számítás, majd az Alkalmazások elemre. Válassza ki az dash-hello-world alkalmazást.

  2. A Fájlok szinkronizálása területen másolja vissza a Jövőbeni módosítások szinkronizálása csoportban található parancsot a Databricksbe , és futtassa a helyi alkalmazásprojekt mappájából:

    databricks sync --watch . /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app
    
  3. A módosított alkalmazás számításra való üzembe helyezéséhez másolja az alkalmazásoldalon a Telepítés a Databricks Apps szolgáltatásba című parancsot, és futtassa a helyi alkalmazásprojekt mappájából:

    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
    

Ha az üzembe helyezés sikeres, a parancs a JSON megerősítését adja ki:

{
    "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",s
    "state": "SUCCEEDED"
    },
    "update_time": "2025-12-06T01:30:20Z"
}

További erőforrások