Ausführen und Debuggen von Notebookzellen mit Databricks Connect mithilfe der Databricks-Erweiterung für Visual Studio Code
Über die Databricks Connect-Integration in der Databricks-Erweiterung für Visual Studio Code können Sie Notebooks ausführen und debuggen, und zwar Zelle für Zelle oder alle Zellen gleichzeitig, und die Ergebnisse in der Benutzeroberfläche von Visual Studio Code anzeigen. Der gesamte Code wird lokal ausgeführt, während der Code im Zusammenhang mit DataFrame-Vorgängen im Cluster im Azure Databricks-Remotearbeitsbereich ausgeführt wird. Ausführungsantworten werden an den lokalen Aufrufer zurückgesendet. Der gesamte Code wird lokal debuggt, während der gesamte Spark-Code weiterhin im Cluster im Azure Databricks-Remotearbeitsbereich ausgeführt wird. Der Kerncode der Spark-Engine kann nicht direkt vom Client aus debuggt werden.
Hinweis
Dieses Feature funktioniert mit Databricks Runtime 13.3 und höher.
Um die Databricks Connect-Integration für Notebooks in der Databricks-Erweiterung für Visual Studio Code zu aktivieren, müssen Sie Databricks Connect in der Databricks-Erweiterung für Visual Studio Code installieren. Siehe Debuggen von Code mithilfe von Databricks Connect für die Databricks-Erweiterung für Visual Studio Code.
Ausführen von Python-Notebookzellen
Für Notebooks mit Dateinamen mit einer .py
-Erweiterung werden beim Öffnen des Notebooks in der Visual Studio Code IDE die Schaltflächen Zelle ausführen, Darüber ausführen und Zelle debuggen angezeigt. Wenn Sie eine Zelle ausführen, werden die Ergebnisse auf einer separaten Registerkarte in der IDE angezeigt. Während des Debuggens zeigt die zu debuggende Zelle die Schaltflächen Weiter, Beenden und Überspringen an. Beim Debuggen einer Zelle können Sie die Debugging-Funktionen von Visual Studio Code nutzen, z. B. den Status von Variablen beobachten und den Aufrufstapel und die Debug-Konsole anzeigen.
Notebooks mit Dateinamen mit einer .ipynb
-Erweiterung enthalten, wenn Sie das Notebook in der Visual Studio Code IDE öffnen, zusätzliche Funktionen im Notebook und in seinen Zellen. Siehe Ausführen von Zellen und Arbeiten mit Codezellen im Notebook-Editor.
Weitere Informationen zu Notebook-Formaten für Dateinamen mit den Erweiterungen .py
und .ipynb
finden Sie unter Exportieren und Importieren von Databricks-Notebooks.
Ausführen von Python Jupyter-Notebookzellen
So können Sie ein Python Jupyter-Notebook ausführen oder debuggen (.ipynb
):
Öffnen Sie in Ihrem Projekt das Python Jupyter-Notebook, das Sie ausführen oder debuggen möchten. Stellen Sie sicher, dass die Python-Datei das Jupyter-Notebookformat und die Erweiterung
.ipynb
aufweist.Tipp
Sie können ein neues Python Jupyter-Notebook erstellen, indem Sie den Befehl >Erstellen: Neues Jupyter-Notebook in der Befehlspalette ausführen.
Klicken Sie auf Alle Zellen ausführen, um alle Zellen ohne Debuggen auszuführen, auf Zelle ausführen, um eine einzelne entsprechende Zelle ohne Debuggen auszuführen, oder auf Nach Zeile ausführen, um eine einzelne Zelle zeilenweise mit eingeschränktem Debuggen auszuführen, wobei Variablenwerte im Bereich Jupyter angezeigt werden (Ansicht > Ansicht öffnen > Jupyter).
Legen Sie zum vollständigen Debuggen innerhalb einer einzelnen Zelle Breakpoints fest, und klicken Sie dann im Menü neben der Schaltfläche Ausführen der Zelle auf Zelle debuggen.
Nachdem Sie auf eine dieser Optionen geklickt haben, werden Sie möglicherweise aufgefordert, fehlende Python Jupyter Notebook-Paketabhängigkeiten zu installieren. Klicken Sie darauf, um es zu installieren.
Weitere Informationen finden Sie unter Jupyter-Notebooks in VS Code.
Globale Notebook-Funktionen
Die folgenden globalen Notebook-Funktionen sind ebenfalls aktiviert:
spark
steht für eine Instanz vondatabricks.connect.DatabricksSession
und ist vorkonfiguriert, umDatabricksSession
zu instanziieren, indem Anmeldeinformationen für die Azure Databricks-Authentifizierung von der Erweiterung abgerufen werden. WennDatabricksSession
bereits im Zellcode eines Notebooks instanziiert wird, werden stattdessen dieseDatabricksSession
-Einstellungen verwendet. Siehe Codebeispiele für Databricks Connect für Python.udf
, vorkonfiguriert als Alias fürpyspark.sql.functions.udf
, ein Alias für Python-UDFs. Siehe pyspark.sql.functions.udf.sql
, vorkonfiguriert als Alias fürspark.sql
.spark
steht wie zuvor beschrieben für eine vorkonfigurierte Instanz vondatabricks.connect.DatabricksSession
. Siehe Spark SQL.dbutils
, vorkonfiguriert als Instanz von Databricks Utilities, das ausdatabricks-sdk
importiert und instanziiert wird, indem Anmeldeinformationen für die Azure Databricks-Authentifizierung aus der Erweiterung abgerufen werden. Siehe Verwenden von Databricks Utilities.Hinweis
Nur eine Teilmenge der Databricks Utilities wird für Notebooks mit Databricks Connect unterstützt.
Um
dbutils.widgets
zu aktivieren, müssen Sie zuerst das Databricks SDK für Python installieren, indem Sie den folgenden Befehl im Terminal Ihres lokalen Entwicklungscomputers ausführen:pip install 'databricks-sdk[notebook]'
display
, vorkonfiguriert als Alias für das in Jupyter integrierteIPython.display.display
. Siehe IPython.display.display.displayHTML
, vorkonfiguriert als Alias fürdbruntime.display.displayHTML
, ein Alias fürdisplay.HTML
vonipython
. Siehe IPython.display.html.
Notebook-Magic-Befehle
Die folgenden Notebook-Magic-Befehle sind ebenfalls verfügbar:
%fs
, was dem Tätigen vondbutils.fs
-Anrufen entspricht. Siehe Mischen von Sprachen.%sh
, mit dem ein Befehl mithilfe des Zell-Magic-Befehls%%script
auf dem lokalen Computer ausgeführt wird. Dadurch wird der Befehl nicht im Azure Databricks-Remotearbeitsbereich ausgeführt. Siehe Mischen von Sprachen.%md
und%md-sandbox
, das den Zell-Magic-Befehl%%markdown
ausführt. Siehe Mischen von Sprachen.%sql
, mit demspark.sql
ausgeführt wird. Siehe Mischen von Sprachen.%pip
, daspip install
auf dem lokalen Computer ausführt. Dadurch wirdpip install
nicht im Azure Databricks-Remotearbeitsbereich ausgeführt. Siehe Verwalten von Bibliotheken mit %pip-Befehlen.%run
, das ein anderes Notizbuch ausführt. Weitere Informationen finden Sie unter Ausführen eines Databricks-Notebooks über ein anderes Notebook.Hinweis
Um
%run
zu aktivieren, müssen Sie zuerst die nbformat-Bibliothek installieren, indem Sie den folgenden Befehl im Terminal Ihres lokalen Entwicklungscomputers ausführen:pip install nbformat
Zu den zusätzlichen Features, die aktiviert sind, gehören:
- Spark DataFrames werden in Pandas DataFrames konvertiert, die im Jupyter-Tabellenformat angezeigt werden.
Begrenzungen
Zu den Einschränkungen beim Ausführen von Zellen in Notebooks in Visual Studio Code gehören:
- Die Notebook-Magic-Befehle
%r
und%scala
werden nicht unterstützt und lösen beim Aufruf einen Fehler aus. Siehe Mischen von Sprachen. - Der Notebook-Magic-Befehl
%sql
unterstützt einige DML-Befehle nicht, z. B. Tabellen anzeigen.