Freigeben über


Verwenden von Notebooks mit Databricks Connect

Hinweis

Dieses Feature funktioniert mit Databricks Runtime 13.3 und höher.

Sie können Azure Databricks-Notizbücher ausführen und die Ergebnisse in der Visual Studio Code-IDE anzeigen, und zwar eine Zelle nach der anderen oder alle Zellen auf einmal, indem Sie die Databricks Connect-Integration in der Databricks-Erweiterung für Visual Studio Code verwenden. 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. Sie können Zellen auch debuggen. 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.

Standardmäßig ist die Nutzung von Notizbüchern ohne die in diesem Artikel beschriebene Databricks Connect-Integration eingeschränkt:

  • Sie können Notizbücher nicht einzeln ausführen, indem Sie nur die Databricks-Erweiterung für Visual Studio Code verwenden.
  • Zellen können nicht gedebuggt werden.
  • Sie können Notebooks nur als Azure Databricks-Aufträge ausführen und nur die Ergebnisse der Ausführung der Notebooks in der Visual Studio Code IDE sehen.
  • Sämtlicher Notebook-Code läuft nur auf den Clustern, die mit diesen Aufträgen verbunden sind.

Um die Databricks Connect-Integration für Notebooks in der Databricks-Erweiterung für Visual Studio Code zu aktivieren, müssen Sie die Databricks Connect-Integration in der Databricks-Erweiterung für Visual Studio Code aktivieren. Siehe Debug Code mithilfe von Databricks Connect für die Databricks-Erweiterung für Visual Studio Code.

Nach der Aktivierung werden für Notebooks mit Dateinamen mit einer .py-Erweiterung 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.

Nach der Aktivierung enthalten Notebooks mit Dateinamen mit einer .ipynb-Erweiterung, wenn Sie das Notebook in der Visual Studio Code IDE öffnen, zusätzliche Funktionen in dem Notebook und 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.

Die folgenden globalen Notebook-Funktionen sind ebenfalls aktiviert:

  • spark steht für eine Instanz von databricks.connect.DatabricksSession und ist vorkonfiguriert, um DatabricksSession zu instanziieren, indem Anmeldeinformationen für die Azure Databricks-Authentifizierung von der Erweiterung abgerufen werden. Wenn DatabricksSession bereits im Zellcode eines Notebooks instanziiert wird, werden stattdessen diese DatabricksSession-Einstellungen verwendet. Siehe Codebeispiele für Databricks Connect für Python.

  • udf, vorkonfiguriert als Alias für pyspark.sql.functions.udf, ein Alias für Python-UDFs. Siehe pyspark.sql.functions.udf.

  • sql, vorkonfiguriert als Alias für spark.sql. spark steht wie zuvor beschrieben für eine vorkonfigurierte Instanz von databricks.connect.DatabricksSession. Siehe Spark SQL.

  • dbutils, vorkonfiguriert als Instanz von Databricks Utilities, das aus databricks-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 integrierte IPython.display.display. Siehe IPython.display.display.

  • displayHTML, vorkonfiguriert als Alias für dbruntime.display.displayHTML, ein Alias für display.HTML von ipython. Siehe IPython.display.html.

Die folgenden Notebook-Magic-Befehle sind ebenfalls verfügbar:

  • %fs, was dem Tätigen von dbutils.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 dem spark.sql ausgeführt wird. Siehe Mischen von Sprachen.

  • %pip, das pip install auf dem lokalen Computer ausführt. Dadurch wird pip install nicht im Azure Databricks-Remotearbeitsbereich ausgeführt. Siehe Verwalten von Bibliotheken mit %pip-Befehlen.

  • %run, das ein anderes Notizbuch ausführt. Dieser Notebook-Magic-Befehl ist in der Databricks-Erweiterung für Visual Studio Code Version 1.1.2 und höher verfügbar. 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
    
  • # MAGIC. Dieser Notebook-Magic-Befehl ist in der Databricks-Erweiterung für Visual Studio Code Version 1.1.2 und höher verfügbar.

Zu den zusätzlichen Features, die aktiviert sind, gehören:

  • Spark DataFrames werden in Pandas DataFrames konvertiert, die im Jupyter-Tabellenformat angezeigt werden.

Es gelten einige Einschränkungen, u. a. folgende:

  • 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.