Aller au contenu principal

Exécutez et déboguez les cellules de Notebook avec Databricks Connect à l'aide de l'extension Databricks pour Visual Studio Code.

Vous pouvez exécuter et déboguer des notebooks, une cellule à la fois ou toutes les cellules en même temps, et voir leurs résultats dans l'interface utilisateur de Visual Studio Code en utilisant l'extension Databricks pour l'intégration de Databricks Connect de Visual Studio Code. Tout le code s'exécute localement, tandis que tout le code impliquant des Opérations DataFrame s'exécute sur le cluster dans le Workspace Databricks distant et les réponses d'exécution sont renvoyées à l'appelant local. Tout le code est débogué localement, tandis que tout le code Spark continue de s'exécuter sur le cluster dans le Databricks Workspace distant. Le code moteur Spark principal ne peut pas être débogué directement depuis le client.

remarque

Cette fonctionnalité fonctionne avec Databricks Runtime 13.3 ou une version ultérieure.

Pour activer l'intégration de Databricks Connect pour les Notebooks dans l'extension Databricks pour Visual Studio Code, vous devez installer Databricks Connect dans l'extension Databricks pour Visual Studio Code. Consultez Déboguer du code à l'aide de Databricks Connect pour l'extension Databricks pour Visual Studio Code.

Exécuter les cellules du Notebook Python

Pour les Notebooks dont les noms de fichiers ont une extension .py, lorsque vous ouvrez le Notebook dans l’IDE Visual Studio Code, chaque cellule affiche les boutons Exécuter la cellule , Exécuter au-dessus et Déboguer la cellule . Lorsque vous exécutez une cellule, ses résultats s'affichent dans un tab séparé de l'IDE. Lorsque vous déboguez, la cellule en cours de débogage affiche les boutons Continuer , Arrêter et Passer . Lorsque vous déboguez une cellule, vous pouvez utiliser les fonctionnalités de debugging de Visual Studio Code telles que la surveillance des états des variables et l’affichage de la pile des appels et de la console de débogage.

Pour les notebooks avec des noms de fichiers ayant une extension .ipynb, lorsque vous ouvrez le notebook dans l'IDE Visual Studio Code, le notebook et ses cellules contiennent des fonctionnalités supplémentaires. Consultez Exécuter des cellules et Travailler avec des cellules de code dans l'éditeur de notebook.

Pour plus d'information sur les formats de notebook pour les noms de fichier avec les extensions .py et .ipynb, consultez Importer et exporter des notebooks Databricks.

Exécuter les cellules de notebook Python Jupyter

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

  1. Dans votre projet, ouvrez le notebook Jupyter Python que vous souhaitez exécuter ou déboguer. Assurez-vous que le fichier Python est au format notebook Jupyter et a l'extension .ipynb.
astuce

Vous pouvez créer un nouveau notebook Jupyter Python en exécutant la commande >Create: New Jupyter Notebook à partir de la Palette de commandes .

  1. Cliquez sur **Exécuter toutes les cellules** pour exécuter toutes les cellules sans debugging, sur **Exécuter la cellule** pour exécuter une cellule individuelle correspondante sans debugging, ou sur **Exécuter ligne par ligne** pour exécuter une cellule individuelle ligne par ligne avec un debugging limité, avec les valeurs de variable affichées dans le panneau **Jupyter** (**Afficher > Ouvrir la vue > Jupyter**).

    Pour un debugging complet au sein d'une cellule individuelle, définissez des points d'arrêt, puis cliquez sur Déboguer la cellule dans le menu à côté du bouton Exécuter de la cellule.

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

    Pour plus d'informations, voir Jupyter Notebooks dans VS Code.

Variables globales du Notebook

Les globales de notebook suivantes sont également activées :

  • spark, représentant une instance de databricks.connect.DatabricksSession, est préconfiguré pour instancier DatabricksSession en obtenant les identifiants d'authentification Databricks de l'extension. Si DatabricksSession est déjà instancié dans le code d'une cellule de Notebook, ces paramètres DatabricksSession sont utilisés à la place. Voir Exemples de code pour Databricks Connect pour Python.

  • udf, préconfiguré comme alias pour pyspark.sql.functions.udf, qui est un alias pour les fonctions UDF Python. Consultez pyspark.sql.functions.udf.

  • sql, préconfiguré en tant qu'alias pour spark.sql. spark, comme décrit précédemment, représente une instance préconfigurée de databricks.connect.DatabricksSession. See Spark SQL.

  • dbutils, préconfiguré en tant qu’instance des utilitaires Databricks, qui est importé de databricks-sdk et est instancié en obtenant les identifiants d’authentification Databricks de l’extension. Voir Utiliser les utilitaires Databricks.

remarque

Seul un sous-ensemble des utilitaires Databricks est pris en charge pour les Notebooks avec Databricks Connect.

Pour activer dbutils.widgets, vous devez d'abord installer le SDK Databricks pour Python en exécutant la commande suivante dans le terminal de votre machine de développement locale :

pip install 'databricks-sdk[notebook]'
  • display, préconfiguré en tant qu'alias pour la fonction intégrée de Jupyter IPython.display.display. Voir IPython.display.display.

  • displayHTML, préconfiguré comme un alias pour dbruntime.display.displayHTML, qui est un alias pour display.HTML de ipython. Voir IPython.display.html.

Commandes magiques du Notebook

Les commandes magiques du Notebook suivantes sont également activées :

remarque

Pour activer %run, vous devez d'abord installer la bibliothèque nbformat en exécutant la commande suivante dans le terminal de votre machine de développement locale :

pip install nbformat

Les fonctionnalités supplémentaires qui sont activées incluent :

  • Les DataFrames Spark sont convertis en DataFrames pandas, qui sont affichés au format de tableau Jupyter.

Limitations

Les limitations de l’exécution des cellules dans les Notebooks de Visual Studio Code incluent :

  • Les commandes magiques des notebooks %r et %scala ne sont pas prises en charge et affichent une erreur si appelées. Voir Mélanger les langues.
  • La commande magique de notebook %sql ne prend pas en charge certaines commandes DML, telles que Show Tables .