Partager via


Déboguer du code à l’aide de Databricks Connect pour l’extension Databricks pour Visual Studio Code

Cet article explique comment déboguer du code à l’aide de l’intégration de Databricks Connect dans l’extension Databricks pour Visual Studio Code. Consultez Présentation de l’extension Databricks pour Visual Studio Code.

Ces informations supposent que vous avez déjà installé et configuré l’extension Databricks pour Visual Studio Code. Consultez Installer l’extension Databricks pour Visual Studio Code.

Remarque

Cette fonctionnalité est expérimentale.

L’intégration de Databricks Connect dans l’extension Databricks pour Visual Studio Code ne prend en charge qu’une partie de l’authentification unifiée du client Databricks standard. Pour plus d’informations, consultez Configuration de l’authentification pour l’extension Databricks pour Visual Studio Code.

L’extension Databricks pour Visual Studio Code inclut Databricks Connect. Vous pouvez utiliser Databricks Connect à partir de l’extension Databricks pour Visual Studio Code pour exécuter et effectuer un débogage pas à pas de fichiers individuels Python (.py) et de notebooks Jupyter Python (.ipynb). L’extension Databricks pour Visual Studio Code inclut Databricks Connect pour Databricks Runtime 13.0 et versions ultérieures. Les versions antérieures de Databricks Connect ne sont pas prises en charge.

Spécifications

Avant de pouvoir utiliser Databricks Connect à partir de l’extension Databricks pour Visual Studio Code, vous devez d’abord répondre aux exigences de Databricks Connect. Ces exigences incluent des éléments tels qu’un espace de travail activé avec Unity Catalog, un cluster exécutant Databricks Runtime 13.0 ou version ultérieure et avec un mode d’accès au cluster utilisateur unique ou partagé, et une version locale de Python installée avec ses versions principales et mineures correspondant à celles de Python installées sur le cluster.

Étape 1 : Créer un environnement virtuel Python

Créez et activez un environnement virtuel Python pour votre projet de code Python. Les environnements virtuels Python vous permettent de vous assurer que votre projet de code utilise des versions compatibles des packages Python et Python (dans ce cas, le package Databricks Connect). Les instructions et les exemples de cet article utilisent venv ou Poetry pour les environnements virtuels Python. Databricks n’a pas entièrement testé le package Databricks Connect avec d’autres types d’environnements virtuels Python, tels que Conda.

Créer un environnement virtuel Python en utilisant venv

  1. À partir de votre terminal Visual Studio Code (Voir> terminal ) défini sur le répertoire racine de votre projet de code Python, demandez venv à utiliser Python pour l’environnement virtuel, puis créez les fichiers de prise en charge de l’environnement virtuel dans un répertoire masqué nommé .venv dans le répertoire racine de votre projet de code Python, en exécutant la commande suivante :

    # Linux and macOS
    python3.10 -m venv ./.venv
    # Windows
    python3.10 -m venv .\.venv
    

    La commande précédente utilise Python 3.10, qui correspond à la version principale et mineure de Python que Databricks Runtime 13.0 utilise. Veillez à utiliser la version principale et mineure de Python qui correspond à la version installée de Python de votre cluster.

  2. Si Visual Studio Code affiche le message « Nous avons remarqué qu’un nouvel environnement a été créé. Voulez-vous le sélectionner pour le dossier de l’espace de travail », cliquez sur Oui.

  3. Activervenv l’environnement virtuel Consultez la documentation venv pour connaître la commande appropriée à utiliser, en fonction de votre système d’exploitation et du type de terminal. Par exemple, sur macOS exécutant zsh:

    source ./.venv/bin/activate
    

    Vous savez que votre environnement virtuel est activé quand son nom ( par exemple, .venv ) s’affiche entre parenthèses juste avant l’invite de terminal.

    Pour désactiver l’environnement virtuel à tout moment, exécutez la commande deactivate.

    Vous savez que votre environnement virtuel est désactivé quand son nom ne s’affiche plus entre parenthèses juste avant l’invite de terminal.

Passez à l’étape 2 : Mettre à jour votre code Python pour établir un contexte de débogage.

Créer un environnement virtuel Python en utilisant Poetry

  1. Installez Poetry, si ce n’est pas encore fait.

  2. À partir de votre terminal Visual Studio Code (Affichage > Terminal) défini sur le répertoire racine de votre projet de code Python existant, demandez à poetry d’initialiser votre projet de code Python pour Poetry en exécutant la commande suivante :

    poetry init
    
  3. Poetry affiche plusieurs invites pour vous permettre de terminer. Aucune de ces invites n’est spécifique à l’extension Databricks pour Visual Studio Code ou à Databricks Connect. Pour plus d’informations sur ces invites, consultez init.

  4. Une fois les invites terminées, Poetry ajoute un fichier pyproject.toml à votre projet Python. Pour plus d’informations sur le fichier pyproject.toml, consultez le fichier pyproject.toml.

  5. Avec le terminal Visual Studio Code toujours défini sur le répertoire racine de votre projet de code Python, demandez à poetry de lire le fichier pyproject.toml, de résoudre les dépendances et de les installer, de créer un fichier poetry.lock pour verrouiller les dépendances et enfin de créer un environnement virtuel. Pour ce faire, exécutez la commande suivante :

    poetry install
    
  6. Demandez à Visual Studio Code d’utiliser l’interpréteur Python inclus dans l’environnement virtuel pour ce projet Python, comme suit :

    1. Recherchez le chemin complet de l’interpréteur Python qui se trouve dans l’environnement virtuel de ce projet Python, en exécutant la commande suivante à partir du répertoire racine du projet :

      poetry env info
      
    2. Copiez le chemin complet affiché dans la sortie du champ Virtualenv > Executable, par exemple le chemin d’accès complet qui contient pypoetry/virtualenvs.

    3. Dans la palette de commandes (Affichage > Palette de commandes), entrez la commande >Python: Select Interpreter.

    4. Entrez le chemin complet de l’interpréteur Python que vous venez de copier.

  7. Avec le terminal Visual Studio Code toujours défini sur le répertoire racine de votre projet de code Python, indiquez à poetry d’activer l’environnement virtuel et d’entrer dans l’interpréteur de commandes. Pour ce faire, exécutez la commande suivante :

    poetry shell
    

    Vous savez que votre environnement virtuel est activé et que l’interpréteur de commandes est entré quand le nom de l’environnement virtuel s’affiche entre parenthèses juste avant l’invite de terminal.

    Pour désactiver l’environnement virtuel et quitter l’interpréteur de commandes à tout moment, exécutez la commande exit.

    Vous savez que vous avez quitté l’interpréteur de commandes quand le nom de l’environnement virtuel ne s’affiche plus entre parenthèses juste avant l’invite de terminal.

    Pour plus d’informations sur la création et la gestion d’environnements virtuels Poetry, consultez Gestion des environnements.

Étape 2 : Mettre à jour votre code Python pour établir un contexte de débogage

Pour établir un contexte de débogage entre Databricks Connect et votre cluster, votre code Python doit initialiser la DatabricksSession classe en appelant DatabricksSession.builder.getOrCreate().

Notez que vous n’avez pas besoin de spécifier des paramètres, tels que le nom d’instance de votre espace de travail, un jeton d’accès ou l’ID et le numéro de port de votre cluster lorsque vous initialisez la classe DatabricksSession. Databricks Connect obtient ces informations à partir des détails de configuration que vous avez déjà fournis via l’extension Databricks pour Visual Studio Code plus haut dans cet article.

Pour plus d’informations sur l’initialisation de la DatabricksSession classe, consultez les exemples de code Databricks Connect.

Important

Si vous utilisez l’extension Databricks pour Visual Studio Code pour définir le type d’authentification sur des jetons d’accès personnels, l’extension définit une variable d’environnement SPARK_REMOTE associée avec des paramètres de contexte de débogage à utiliser par Databricks Connect. Ces paramètres de contexte de débogage incluent le nom instance de l’espace de travail associé, le jeton d’accès personnel et l’identifiant de cluster.

Dans Databricks Connect, vous pouvez utiliser la classe DatabricksSession ou SparkSession avec SPARK_REMOTE et l’authentification par jeton d’accès personnel pour établir rapidement et facilement le contexte de débogage par programmation. Pour les autres types d’authentification Azure Databricks pris en charge, vous pouvez utiliser uniquement la classe DatabricksSession pour établir le contexte de débogage.

Pour plus d’informations, consultez Configurer le client dans la documentation Databricks Connect.

Étape 3 : Activer Databricks Connect

Une fois l’extension ouverte et la section Espace de travail configurée pour votre projet de code, procédez comme suit :

  1. Dans la barre de status Visual Studio Code, cliquez sur le bouton rouge Databricks Connect désactivé.

  2. Si la section Cluster n’est pas déjà configurée dans l’extension, le message suivant s’affiche : « Veuillez joindre un cluster pour utiliser Databricks Connect. » Cliquez sur Attacher un cluster et sélectionnez un cluster qui répond aux exigences de Databricks Connect.

  3. Si la section Cluster est configurée mais que le cluster n’est pas compatible avec Databricks Connect, cliquez sur le bouton rouge Databricks Connect désactivé , cliquez sur Attacher un cluster, puis sélectionnez un cluster compatible.

  4. Si le package Databricks Connect (et ses dépendances) n’est pas encore installé, le message suivant s’affiche : « Pour le débogage interactif et l’autocomplétion, vous avez besoin de Databricks Connect. Voulez-vous l’installer dans l’environnement <environment-name>. » Cliquez sur Installer.

  5. Dans la barre d’état Visual Studio Code, le bouton Databricks Connect activé s’affiche.

    Si le bouton rouge Databricks Connect désactivé s’affiche toujours, cliquez dessus et suivez les instructions à l’écran pour afficher le bouton Databricks Connect activé.

  6. Une fois que le bouton Databricks Connect activé s’affiche, vous êtes maintenant prêt à utiliser Databricks Connect.

Remarque

Vous n’avez pas besoin de configurer la section Destination de synchronisation de l’extension pour que votre projet de code utilise Databricks Connect.

Si vous utilisez Poetry, vous pouvez synchroniser vos fichiers pyproject.toml et poetry.lock avec le package Databricks Connect installé (et ses dépendances) en exécutant la commande suivante. Veillez à remplacer 13.3.2 par la version du package Databricks Connect qui correspond à celle installée par l’extension Databricks pour Visual Studio Code pour votre projet.

poetry add databricks-connect==13.3.2

Étape 4 : Exécuter ou déboguer votre code Python

Après avoir activé Databricks Connect pour votre projet de code, exécutez ou déboguez votre fichier ou bloc-notes Python comme suit.

Pour exécuter ou déboguer un fichier Python (.py) :

  1. Dans votre projet de code, ouvrez le fichier Python que vous souhaitez exécuter ou déboguer.

  2. Définissez les points d’arrêt de débogage dans le fichier Python.

  3. Dans la barre de titre de l’éditeur de fichiers, cliquez sur la flèche déroulante en regard de l’icône de lecture (Exécuter ou Déboguer). Ensuite, dans la liste déroulante, sélectionnez Déboguer un fichier Python. Ce choix prend en charge le débogage pas à pas, les points d’arrêt, les expressions watch, les piles d’appels et les fonctionnalités similaires. Cette option utilise Databricks Connect pour exécuter du code Python localement, exécuter du code PySpark sur le cluster dans l’espace de travail distant, puis renvoyer des réponses distantes à Visual Studio Code pour le débogage local.

    Remarque

    D’autres choix, qui ne prennent pas en charge le débogage, incluent :

    • Exécutez Le fichier Python pour utiliser Databricks Connect pour exécuter le fichier ou le notebook, mais sans prise en charge du débogage. Cette option envoie le fichier à l’espace de travail distant, exécute les codes Python et PySpark du fichier sur le cluster distant dans l’espace de travail, puis envoie la réponse distante au terminal Visual Studio Code.
    • Charger et exécuter un fichier sur Databricks pour envoyer le fichier à l’espace de travail distant, exécute le code Python et PySpark du fichier sur le cluster distant dans l’espace de travail et envoie la réponse à distance au terminal Visual Studio Code. Ce choix n’utilise pas Databricks Connect.
    • Exécutez le fichier en tant que flux de travail sur Databricks pour envoyer le fichier à l’espace de travail distant, exécuter les codes Python et PySpark du fichier sur le cluster associé à un travail Azure Databricks automatisé, puis envoyer les résultats à un éditeur dans Visual Studio Code. Ce choix n’utilise pas Databricks Connect.

    Exécuter un fichier sur Databricks commande éditeur 0

    L’option Exécuter le fichier actuel dans la fenêtre interactive , si disponible, tente d’exécuter le fichier localement dans un éditeur interactif Visual Studio Code spécial. Databricks ne recommande pas cette option.

Pour exécuter ou déboguer un notebook Jupyter Python (.ipynb) :

  1. Dans votre projet de code, ouvrez le notebook Jupyter Python que vous souhaitez exécuter ou déboguer. Vérifiez que le fichier Python est au format de notebook Jupyter et a l’extension .ipynb.

    Conseil

    Vous pouvez créer un bloc-notes Jupyter Python en exécutant la commande> Create: New Jupyter Notebook à partir de la palette de commandes.

  2. Cliquez sur Exécuter toutes les cellules pour exécuter toutes les cellules sans débogage, Exécuter la cellule pour exécuter une cellule correspondante individuelle sans débogage ou Exécuter par ligne pour exécuter une cellule individuelle ligne par ligne avec un débogage limité, avec des valeurs variables affichées dans le panneau Jupyter (Afficher > Ouvrir Voir > Jupyter).

    Pour un débogage complet dans une cellule individuelle, définissez des points d’arrêt, puis cliquez sur Déboguer la cellule dans le menu en regard du bouton Exécuter de la cellule.

    Après avoir cliqué sur l’une de ces options, vous pouvez être invité à installer les dépendances de package de notebook Jupyter Python manquantes. Cliquez pour l'installer.

    Pour plus d’informations, consultez Jupyter Notebooks dans VS Code.