Freigeben über


Unterstützung von Databricks Connect in Databricks-Notizbüchern

Hinweis

Dieser Artikel behandelt Databricks Connect für Databricks Runtime Version 13.3 LTS und höher.

Databricks Connect ermöglicht Ihnen, eine Verbindung zu Databricks-Computing-Ressourcen von einer lokalen Entwicklungsumgebung außerhalb von Databricks herzustellen. Anschließend können Sie Ihren Code direkt aus Ihrer IDE entwickeln, debuggen und testen, bevor Sie Ihren Code in ein Notizbuch oder einen Auftrag in Databricks verschieben. Weitere Informationen finden Sie unter Was ist Databricks Connect?.

Tragbarkeit

Um den Übergang von der lokalen Entwicklung zur Bereitstellung zu Databricks nahtlos zu machen, sind alle Databricks Connect-APIs im Rahmen der entsprechenden Databricks-Runtime in Databricks-Notizbüchern verfügbar. Auf diese Weise können Sie Ihren Code in einem Databricks-Notebook ohne Änderungen an Ihrem Code ausführen.

Verhalten der DatabricksSession

Das Verhalten unterscheidet sich geringfügig bei der Verwendung von DatabricksSession Databricks Connect in einer lokalen Entwicklungsumgebung und in Notizbüchern und Aufträgen im Databricks-Arbeitsbereich.

Verhalten der lokalen Entwicklungsumgebung

Wenn Sie Code lokal innerhalb einer IDE außerhalb von Databricks ausführen, DatabricksSession.builder.getOrCreate() ruft die vorhandene Spark-Sitzung für die bereitgestellte Konfiguration ab, falls vorhanden, oder erstellt eine neue Spark-Sitzung, wenn sie nicht vorhanden ist. DatabricksSession.builder.create() erstellt immer eine neue Spark-Sitzung. Verbindungsparameter wie host, token und cluster_id werden entweder aus dem Quellcode, Umgebungsvariablen oder der .databrickscfg-Konfigurationsprofildatei aufgefüllt.

Anders ausgedrückt: Beim Ausführen mit Databricks Connect erstellt der folgende Code zwei separate Sitzungen:

spark1 = DatabricksSession.builder.create()
spark2 = DatabricksSession.builder.create()

Verhalten des Databricks-Arbeitsbereichs

Wenn Sie Code in einem Notebook oder Auftrag im Databricks-Arbeitsbereich ausführen, gibt DatabricksSession.builder.getOrCreate() die Spark-Standardsitzung zurück, die auch über die spark-Variable zugänglich ist, wenn sie ohne zusätzliche Konfiguration verwendet wird. Die spark Variable ist vorkonfiguriert, um eine Verbindung mit der Computeinstanz herzustellen, an die das Notizbuch oder der Auftrag angefügt ist. Eine neue Spark-Sitzung wird erstellt, wenn zusätzliche Verbindungsparameter festgelegt werden, z. B. mithilfe DatabricksSession.builder.clusterId(...).getOrCreate() oder DatabricksSession.builder.serverless().getOrCreate().

DatabricksSession.builder.create() erfordert explizite Verbindungsparameter in einem Notebook wie DatabricksSession.builder.clusterId(...).create(), andernfalls wird ein [UNSUPPORTED]-Fehler zurückgegeben.

Es ist möglich, Databricks Connect zu verwenden, um eine Verbindung mit Databricks herzustellen, die nicht mit dem Notebook oder Auftrag verbunden ist, das bzw. der remote() verwendet, das die Konfiguration kwargs oder die einzelnen Konfigurationsmethoden verwendet, z. B. host() oder token(). In diesen Fällen wird eine neue Sitzung für den referenzierten Compute erstellt, ähnlich wie bei Verwendung außerhalb eines Databricks-Notebooks oder Auftrags.

Hinweis

Bei Notebooks, die mit serverlosem Computing ausgeführt werden, wird standardmäßig ein Timeout nach 9.000 Sekunden ausgeführt. Sie können dies anpassen, indem Sie die Spark-Konfigurationseigenschaft spark.databricks.execution.timeoutfestlegen. Siehe Festlegen von Spark-Konfigurationseigenschaften in Azure Databricks.