Exécuter et déboguer des cellules de notebook avec Databricks Connect en utilisant l'extension Databricks pour Visual Studio Code
Vous pouvez exécuter et déboguer les notebooks, une cellule à la fois ou toutes les cellules à la fois, et voir leurs résultats dans l'interface utilisateur de Visual Studio Code grâce à l'extension Databricks pour l'intégration Databricks Connect de Visual Studio Code. Tout le code s’exécute localement. En revanche, l’ensemble du code impliquant des opérations DataFrame s’exécute sur le cluster de l’espace de travail Azure Databricks distant, et les réponses d’exécution sont renvoyées à l’appelant local. Tout le code est débogué localement, alors que l’ensemble du code Spark continue de s’exécuter sur le cluster dans l’espace de travail Azure Databricks distant. Le code principal du moteur Spark ne peut pas être débogué directement à partir du client.
Remarque
Cette fonctionnalité fonctionne avec Databricks Runtime 13.3 et versions ultérieures.
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 le code à l’aide de Databricks Connect pour l’extension Databricks pour Visual Studio Code.
Exécuter des cellules de 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 sont affichés dans un onglet séparé de l'EDI. Pendant le débogage, la cellule en cours de débogage affiche les boutons Continue, Stop et Step Over. Lorsque vous déboguez une cellule, vous pouvez utiliser les fonctionnalités de débogage de Visual Studio Code, telles que l'observation des états des variables et l'affichage de la pile d'appels et de la console de débogage.
Pour les notebooks dont les noms de fichiers ont 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. Voir Exécution de cellules et Utilisation de cellules de code dans l'éditeur de bloc-notes.
Pour plus d’informations sur les formats de notebook pour les noms de fichiers avec les extensions .py
et .ipynb
, consultez Exporter et importer des notebooks Databricks.
Exécuter des cellules jupyter noteboook Python
Pour exécuter ou déboguer un notebook Jupyter Python (.ipynb
) :
Dans votre projet, 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.
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.
Globals de notebooks
Les globaux de bloc-notes suivants sont également activés :
spark
, représentant une instance dedatabricks.connect.DatabricksSession
, est préconfiguré pour instancierDatabricksSession
en obtenant les informations d’identification d’authentification Azure Databricks à partir de l’extension. SiDatabricksSession
est déjà instancié dans le code d'une cellule de bloc-notes, ces paramètresDatabricksSession
sont utilisés à la place. Voir Exemples de code pour Databricks Connect pour Python.udf
, préconfiguré en tant qu’alias pourpyspark.sql.functions.udf
, qui est un alias pour les fonctions définies par l’utilisateur Python. Voir 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
. Voir Spark SQL.dbutils
, préconfiguré en tant qu’instance des utilitaires Databricks, qui est importé à partir dedatabricks-sdk
et instancié en obtenant les informations d’identification d’authentification Azure Databricks à partir de l’extension. Voir Utiliser les utilitaires Databricks.Remarque
Seul un sous-ensemble d’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 ordinateur de développement local :pip install 'databricks-sdk[notebook]'
display
, préconfiguré en tant qu’alias pour leIPython.display.display
intégré Jupyter. Voir IPython.display.display.displayHTML
, préconfiguré en tant qu’alias pourdbruntime.display.displayHTML
, qui est un alias pourdisplay.HTML
deipython
. Voir IPython.display.html.
Magics du notebook
Les magies de notebook suivantes sont également activées :
%fs
, qui est comme effectuer des appelsdbutils.fs
. Voir Mélanger les langues.%sh
, qui exécute une commande à l’aide de la commande magique de cellule%%script
sur l’ordinateur local. Cela n’exécute pas la commande dans l’espace de travail Azure Databricks distant. Voir Mélanger les langues.%md
et%md-sandbox
, qui exécute la commande magique de cellule%%markdown
. Voir Mélanger les langues.%sql
, qui exécutespark.sql
. Voir Mélanger les langues.%pip
, qui exécutepip install
sur l’ordinateur local. Cela n’exécute paspip install
dans l’espace de travail Azure Databricks distant. Voir Gérer les bibliothèques avec les commandes %pip.%run
, qui exécute un autre notebook. Consultez Exécuter un notebook Databricks à partir d’un autre notebook.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 activées incluent :
- Les DataFrames Spark sont convertis en DataFrames pandas, qui sont affichés au format de table Jupyter.
Limites
Les limitations de l’exécution de cellules dans des notebooks dans Visual Studio Code sont les suivantes :
- Les blocs-notes magics
%r
et%scala
ne sont pas pris en charge et affichent une erreur si elle est appelée. Voir Mélanger les langues. - La commande magique de notebook
%sql
ne prend pas en charge certaines commandes DML, telles que Afficher les tables.