Partager via


Tutoriel : Développer une application Databricks localement avec Databricks Connect

Databricks Apps vous permet de créer des applications de données et d’IA sécurisées sur la plateforme Databricks que vous pouvez facilement partager avec des utilisateurs. En développant une application Databricks avec PySpark et Databricks Connect, vous pouvez tirer parti de la puissance d’Apache Spark dans votre application. Comme pour un pilote JDBC, Databricks Connect peut être incorporé dans n’importe quelle application pour interagir avec Databricks. De plus, Databricks Connect fournit l’expressivité complète de Python via PySpark, ce qui vous permet d’exécuter toutes les transformations de données avec Spark sur le calcul Databricks.

Pour plus d’informations sur les applications et Databricks Connect, consultez Databricks Apps et Qu’est-ce que Databricks Connect ?.

Ce tutoriel explique comment créer une application Databricks simple dans l’espace de travail Databricks, puis la développer localement à l’aide de Databricks Connect. L’application s’exécute sur un calcul serverless avec Python 3.11 et Databricks Connect 15.4.*. Pour utiliser une autre version, la version de Python et les versions Databricks Connect doivent être compatibles. Consultez les versions de Databricks Connect.

Conseil / Astuce

Pour obtenir un exemple d’application plus avancé qui utilise Databricks Connect, consultez le référentiel GitHub Databricks Demos.

Spécifications

Étape 1 : Configurer l’authentification et le calcul serverless

Ce tutoriel utilise le calcul sans serveur et l'authentification utilisateur-machine (U2M) Databricks OAuth ainsi qu'un profil de configuration Databricks pour authentifier votre espace de travail Databricks.

Utilisez l’interface CLI Databricks pour lancer la connexion OAuth en exécutant la commande suivante. Utilisez DEFAULT le nom du profil et suivez les instructions à l’écran pour vous connecter à votre espace de travail Databricks.

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

Étape 2 : Créer une application

Créez maintenant une application Databricks dans l’espace de travail.

  1. Dans votre espace de travail Databricks, cliquez sur + Nouvelle>application dans la barre latérale gauche.

  2. Sous Installer à partir d’un modèle, accédez à l’onglet Dash.

  3. Choisissez le modèle Hello World .

  4. Nommez l’application dash-hello-world , puis cliquez sur Installer.

Cela crée une application basée sur le modèle sélectionné, la déploie sur votre espace de travail et la démarre. Pour afficher l’application, cliquez sur l’URL en cours d’exécution en haut de la page Vue d’ensemble :

Afficher l’application hello world

Étape 3 : Copier l’application sur votre ordinateur local

Ensuite, téléchargez le code source de l’application sur votre ordinateur local.

  1. Copiez la première commande sous Synchroniser les fichiers sur la page de l’application.

  2. Dans un terminal local, créez un répertoire dash-hello-world, puis exécutez la commande copiée, par exemple :

    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 .
    

La commande copie deux nouveaux fichiers dans le répertoire nommé app.py et app.yaml. app.yaml définit la configuration de l’application, y compris son point d’entrée et ses autorisations. app.py contient le code qui implémente les fonctionnalités et l’interface utilisateur de l’application.

Étape 4 : Ajouter Databricks Connect

Créez un environnement virtuel Python pour votre application Databricks et ajoutez-y databricks-connect en tant qu’exigence.

  1. Créez un environnement virtuel appelé .myvenv à la racine du dossier du projet et activez-le :

    python3.11 -m venv .myvenv
    source .myvenv/bin/activate
    
  2. Mettez à jour les dépendances de votre application dans le requirements.txt de votre projet. Ajouter 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. Installez les dépendances dans requirements.txt dans votre environnement virtuel :

    pip install -r requirements.txt
    

Étape 5 : Modifier l’application et tester localement

Personnalisez et développez votre application localement.

  1. Mettez à jour app.py pour lire des données à partir de Databricks à l’aide de Databricks Connect et tirez parti d’Apache Spark pour effectuer des transformations de données. En outre, ajoutez du code pour rendre les données interactives, ajoutez une option de style et autorisez les chargements de données.

    # 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. Exécutez et testez votre application localement. Vous pouvez utiliser Python ou l’interface CLI Databricks pour l’exécuter.

    • Exécutez l’application Python.

      python app.py
      

      Accédez à http://127.0.0.1:8050/ dans une fenêtre de navigateur pour voir l’application.

    • Vous pouvez également utiliser la databricks apps run-local commande pour exécuter et déboguer l’application. Cette commande installe toutes les dépendances et prépare l’environnement virtuel, puis démarre l’application et le débogueur sur le port 5678.

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

      Accédez à http://localhost:8001 dans une fenêtre de navigateur pour voir l’application.

      Pour définir des points d’arrêt dans Visual Studio Code, installez l’extension du débogueur Python, puis accédez à Exécuter>Démarrer le débogage>Attacher à distance.

Afficher l’application de coût de voyage localement

Étape 6 : Redéployer l’application

Enfin, téléchargez votre application modifiée localement dans votre espace de travail Databricks et réalisez son déploiement sur les ressources de calcul.

Important

Pour éviter de charger l’ensemble de votre environnement virtuel Python dans Databricks, votre projet doit contenir un fichier .gitignore à la racine comportant .myvenv, ou être placé dans le dossier .myvenv qui exclut ces fichiers.

  1. Dans votre espace de travail Databricks, cliquez sur Calcul, puis Applications. Sélectionnez l’application dash-hello-world .

  2. Sous Synchroniser les fichiers, copiez la commande sous Synchroniser les modifications ultérieures vers Databricks et exécutez-la à partir du dossier de projet d’application local :

    databricks sync --watch . /Workspace/Users/someone@example.com/databricks_apps/dash-hello-world_2025_12_05-21_35/dash-hello-world-app
    
  3. Pour déployer l’application modifiée sur la plateforme de calcul, copiez la commande sous Déployer vers les applications Databricks sur la page de l’application et exécutez-la à partir du dossier de votre projet d’application local :

    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
    

Si le déploiement réussit, la commande génère la confirmation JSON :

{
    "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"
}

Étapes suivantes