So stellen Sie von einer lokalen IDE aus eine Verbindung zu einem Databricks-Cluster her

Michał Milik
Michał Milik
May 8, 2025
10 min read
Loading the Elevenlabs Text to Speech AudioNative Player...

Sie verwenden Databricks Workspace und Notebooks für die Analyse und Verarbeitung von Daten, aber wenn es um komplexe Anwendungen geht, ist das kein effektiver Ansatz mehr? Sie können von Ihrer lokalen IDE aus eine Verbindung zu einem Databricks-Cluster herstellen, um Ihren Code auszuführen. Erfahren Sie hier, wie das geht.

Einführung

Dank Databricks Workspace und Notebooks sind wir in der Lage, Daten schnell zu analysieren und zu transformieren. Dies ist eine perfekte Lösung, solange wir sie für Ad-hoc-Aufgaben oder nicht für komplizierte Anwendungen verwenden. Für komplexere Arbeiten ist es jedoch anstrengend und ineffektiv, Code in einem Browser in Form eines Notebooks zu entwickeln. Je länger das Notizbuch ist, desto schwieriger ist der Code zu lesen und Umgebung und Umgebung reagieren weniger schnell, wenn versucht wird, „Autocomplete“ zu verwenden oder Zellen hinzuzufügen. Zum Glück sind wir in der Lage, Code zu schreiben und ihn direkt von der lokalen IDE aus auszuführen. In diesem Artikel erfahren Sie Schritt für Schritt, wie Sie eine Verbindung zu einem Databricks-Cluster herstellen und Spark-Code mithilfe eines „Databricks-Connectors“ ausführen.

Umsetzung

Stellen Sie die Effizienz Ihrer Arbeit sicher, indem Sie Ihre Entwicklungsumgebung ordnungsgemäß vorbereiten. Dies ist unerlässlich, um von einer lokalen IDE aus eine erfolgreiche Verbindung zu einem Databricks-Cluster herzustellen.

Umgebung vorbereiten

Die entsprechende Version von Python in Ihrer Entwicklungsumgebung ist erforderlich, um eine Verbindung zu Ihrem Cluster in Databricks herzustellen. Wenn Sie beispielsweise mit Databricks Runtime 7.3 LTS eine Verbindung zu einem Cluster herstellen, müssen Sie Python-Version 3.7 verwenden. An dieser Stelle ist es wichtig zu erwähnen, dass Sie keine Verbindung zu allen DB-Runtimes herstellen können (Einschränkungen werden später in diesem Artikel beschrieben). Eine vollständige Liste der unterstützten Runtimes sowie die entsprechenden Python-Versionen finden Sie hier.Eine weitere wichtige Sache ist, dass Java Runtime Environment 8 (JRE 8) installiert ist. Sie können apt (Ubuntu/Debian-Distribution) verwenden, um es zu installieren

Darüber hinaus steht das databricks-connect-Paket in Konflikt mit PySpark. Wenn es also in Ihrer Py-Entwicklungsumgebung enthalten ist, entfernen Sie es bitte mit dem folgenden Code

wird auch dringend empfohlen, eine saubere Python-Umgebung mit Venv, Conda oder anderen zu verwenden. Mit diesem Ansatz können Sie Verbindungen für mehrere Cluster/Workspaces von einem Ort aus konfigurieren.

Verbindung zum Cluster

Wie stellen Sie also eine Verbindung zum Databricks-Cluster her? Sobald unsere lokale Umgebung bereit ist, können wir das databricks-connect-Paket installieren. Die Client-Version sollte mit der von Databricks Runtime identisch sein. In unserem Fall wird es 7.3 sein:

Bitte beachten Sie, dass die Client-Version „X.Y.*“ ist, wobei X.Y Databricks Runtime (7.3) entspricht und das Suffix „.*“ eine Paketversion ist. Die Verwendung von „*“ stellt sicher, dass Sie immer die neueste Version verwenden.

Sobald die Installation erfolgreich ist, ist es an der Zeit, Ihre Verbindung zu konfigurieren. Vorher müssen Sie ein paar Dinge vorbereiten:

  • Workspace-URL (Databricks-Host)
  • Cluster-ID
  • Organisations-ID (Org-ID) (nur Azure!)
  • Persönliches Token
  • Anschluss

Die ersten drei Parameter finden wir in der URL des Clusters, zu dem wir eine Verbindung herstellen möchten. Öffnen Sie in Ihrem Browser „Compute“ und dann den Cluster, zu dem Sie eine Verbindung herstellen möchten.

In den „Benutzereinstellungen“ können Sie ein persönliches Token generieren. Wie du es bekommst, findest du hier.Der Standardverbindungsport ist 15001. Wenn er geändert wurde, finden Sie ihn wahrscheinlich in „Erweiterte Optionen“ auf der Registerkarte „Spark“ (Konfigurationsschlüssel „spark.databricks.service.port“). Jetzt, wenn alle erforderlichen Parameter bereit sind, können wir den Databricks-Verbindungsclient konfigurieren, führen Sie Folgendes aus:

Geben Sie als Nächstes die abgefragten Parameter ein. Danach können Sie die Verbindung überprüfen:

Die Ausgabe sollte so aussehen:

Beispielcode ausführen

Integration mit VSC IDE

Bevor Sie Code auf einem Databricks-Cluster ausführen, müssen Sie den Databricks-Connector in die IDE integrieren. In meinem Fall wird es VisualVirtual Studio Code sein. Die Integration eines Connectors in VSC ist wirklich einfach, da Sie Ihre IDE lediglich auf die Python-Umgebung verweisen müssen, in der der Databricks-Connector installiert ist. Wenn Sie den PPYSSpark-Code ausführen, führt der Connector ihn auf dem DB-Cluster aus.

Um den Python-Interpreter in VSC zu ändern, drücken Sie F1 und beginnen Sie mit der Eingabe von „Python: Select Interpreter“.

Wählen Sie als Nächstes python env aus der Liste aus oder geben Sie einen Pfad an, in dem eine ausführbare Python-Datei abgelegt wird.

Jetzt sind Sie bereit, Ihren Code von der IDE aus auf dem DB-Cluster auszuführen. Der Databricks-Connector erkennt den Pyspark-Code und führt ihn auf einem Cluster aus. Wenn der Code keinen Pyspark enthält, erfolgt die Ausführung lokal. Unten sehen Sie ein Codebeispiel, das ein Pyspark-Snippet enthält, das auf dem DB-Cluster ausgeführt wird

Beachten Sie, dass die Spark-Sitzung zuerst erstellt werden muss. Wenn wir Code direkt im Databricks-Workspace ausführen, ist die Spark-Sitzung bereits initialisiert. Sie finden diesen Code hier Endlager.

Nicht nur VSC!

Sie können Planty-IDEs integrieren, z. B. PyCharm, Eclipse oder Jupyter Notebook. Anleitungen zur Konfiguration anderer IDEs findest du hier.

Zugriff auf DBUtils

DBUtils ist ein sehr hilfreiches Modul, das zum Ausführen von Notebooks verwendet werden kann. Mit seiner Hilfe können Sie Geheimnisse lesen oder FS-Befehle auf DBFS ausführen. Es besteht auch die Möglichkeit, „dbutils“ auf die gleiche Weise wie in Databricks-Notebooks zu verwenden. Eine weitere Bibliothek muss installiert werden und das dbutils-Objekt muss erstellt werden. Um diese Aufgabe abzuschließen, installieren Sie das Paket „six“ in Ihrer Umgebung:

und jetzt können wir fs und secrets verwenden:


Dieses Beispiel finden Sie in der Endlager.

Greifen Sie vom DB Workspace aus auf Ihren Code zu

Mit der Databricks-CLI können wir Notebooks aus dem DB Workspace herunterladen und hochladen. Um die CLI zu installieren, führen Sie in Ihrem Terminal Folgendes aus:

Um die Databricks-CLI zu konfigurieren, benötigen wir die Workspace-URL und das Token. Ich habe oben beschrieben, wie man es bekommt. Beide müssen bei der Konfiguration übergeben werden:

Als Nächstes sollten Import- und Exportbefehle verwendet werden:

Databricks CLI kann auch verwendet werden, um Cluster zu erstellen, DBFS zu verwalten usw. Sie finden eine vollständige Liste der Befehle hier.

Nicht nur Py!

Sie können Ihre Umgebung und IDE auch so konfigurieren, dass R-Code und Scala ausgeführt werden! Weitere Informationen finden Sie unter den folgenden Links:

Einschränkungen

Leider gibt es einige Einschränkungen bei der Verwendung des Databricks-Connectors. Zunächst einmal können wir nur begrenzte DB-Runtime-Cluster verwenden. Zu der Zeit, als dieser Artikel geschrieben wurde, waren es: 9,1 LTS, 7,3 LTS, 6,4 und 5,5 LTS. Die einzigen verfügbaren Optionen sind die Module fs und secrets von dbutils. Bibliotheks-, Notebook- oder Widgets-Module werden im Databricks-Connector nicht unterstützt. Darüber hinaus ist es nicht möglich, mit Tabellen-Zugriffskontrolle eine Verbindung zu Clustern herzustellen. Dies sind die einflussreichsten Einschränkungen. Die vollständige Liste finden Sie unter den folgenden Links:

Zusammenfassung

Wie Sie sehen, ist die Einrichtung eines „databricks connect“ -Pakets einfach und beschleunigt die Entwicklung mit Ihrer bevorzugten IDE erheblich. Den gesamten Code, den Sie benötigen, finden Sie in einem speziell erstellten GitHub Endlager. In unserem Blog erfahren Sie mehr über Databricks Clusters. In unserem Blog finden Sie ausführlichere Artikel zu Databricks:

Share this post
Data Engineering
Michał Milik
MORE POSTS BY THIS AUTHOR
Michał Milik

Curious how we can support your business?

TALK TO US