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.
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) :
- 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.
Vous pouvez créer un nouveau notebook Jupyter Python en exécutant la commande >Create: New Jupyter Notebook à partir de la Palette de commandes .
-
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 dedatabricks.connect.DatabricksSession, est préconfiguré pour instancierDatabricksSessionen obtenant les identifiants d'authentification Databricks de l'extension. SiDatabricksSessionest déjà instancié dans le code d'une cellule de Notebook, ces paramètresDatabricksSessionsont utilisés à la place. Voir Exemples de code pour Databricks Connect pour Python. -
udf, préconfiguré comme alias pourpyspark.sql.functions.udf, qui est un alias pour les fonctions UDF Python. Consultez pyspark.sql.functions.udf. -
sql, préconfiguré en tant qu'alias pourspark.sql.spark, comme décrit précédemment, représente une instance préconfigurée dedatabricks.connect.DatabricksSession. See Spark SQL. -
dbutils, préconfiguré en tant qu’instance des utilitaires Databricks, qui est importé dedatabricks-sdket est instancié en obtenant les identifiants d’authentification Databricks de l’extension. Voir Utiliser les utilitaires Databricks.
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 JupyterIPython.display.display. Voir IPython.display.display. -
displayHTML, préconfiguré comme un alias pourdbruntime.display.displayHTML, qui est un alias pourdisplay.HTMLdeipython. Voir IPython.display.html.
Commandes magiques du Notebook
Les commandes magiques du Notebook suivantes sont également activées :
-
%fs, ce qui revient à effectuerdbutils.fsappels. Voir Mélange de langues. -
%sh, qui exécute une commande en utilisant le magic de cellule%%scriptsur la machine locale. Cela n'exécute pas la commande dans le Workspace Databricks distant. Voir Mélanger les langues. -
%mdet%md-sandbox, qui exécute la magie de cellule%%markdown. Voir Mélanger les langues. -
%sql, qui exécutespark.sql. Voir Mélange de langues. -
%pip, qui exécutepip installsur la machine locale. Ceci n'exécute paspip installdans le Workspace Databricks distant. Voir Gérer les bibliothèques avec les commandes%pip. -
%run, qui exécute un autre Notebook. Voir Orchestrer les notebooks Databricks et modulariser le code.
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
%ret%scalane sont pas prises en charge et affichent une erreur si appelées. Voir Mélanger les langues. - La commande magique de notebook
%sqlne prend pas en charge certaines commandes DML, telles que Show Tables .