Jak połączyć się z klastrem Databricks z lokalnego IDE

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

Korzystasz z Databricks Workspace i notebooks do analizy oraz przetwarzania danych, ale czy w przypadku bardziej złożonych aplikacji to nadal efektywne podejście? Możesz połączyć się z Databricks Cluster ze swojego lokalnego IDE, aby uruchamiać kod. Dowiedz się, jak to zrobić poniżej.

Wstęp
Dzięki Databricks Workspace i notebooks możemy szybko analizować i transformować dane. To idealne rozwiązanie do zadań ad hoc lub niezbyt skomplikowanych aplikacji. Jednak przy bardziej złożonej pracy rozwijanie kodu w przeglądarce w formie notebooka staje się męczące i nieefektywne. Im dłuższy notebook, tym trudniej czytać kod, a środowisko staje się mniej responsywne przy korzystaniu z “autocomplete” lub dodawaniu komórek. Na szczęście możemy pisać kod i uruchamiać go bezpośrednio z lokalnego IDE. W tym artykule krok po kroku pokażemy, jak połączyć się z Databricks Cluster i uruchomić kod sparkowy za pomocą “databricks connector”.

Implementacja
Zadbaj o efektywność pracy, odpowiednio przygotowując środowisko developerskie, co jest kluczowe do skutecznego połączenia z Databricks Cluster z lokalnego IDE.

Przygotowanie środowiska
Aby połączyć się z klastrem w Databricks, wymagana jest odpowiednia wersja Pythona w środowisku developerskim. Na przykład, jeśli łączysz się z klastrem z Databricks Runtime 7.3 LTS, musisz użyć Pythona w wersji 3.7. Warto wspomnieć, że nie można połączyć się ze wszystkimi DB Runtimes (ograniczenia opisane są dalej w artykule). Pełną listę wspieranych Runtimes wraz z odpowiadającymi wersjami Pythona znajdziesz tutaj.

Kolejną ważną rzeczą jest posiadanie zainstalowanego Java Runtime Environment 8 (JRE 8). Możesz użyć apt (dystrybucje Ubuntu/Debian) do instalacji.

Dodatkowo, pakiet databricks-connect jest w konflikcie z PySpark. Jeśli twoje środowisko py zawiera PySpark, usuń go poniższym poleceniem.

Zaleca się również korzystanie z czystego środowiska pythonowego (venv, conda lub inne). Takie podejście pozwoli skonfigurować połączenia do wielu klastrów/workspaces z jednego miejsca.

Połączenie z klastrem
Jak połączyć się z Databricks Cluster? Gdy środowisko lokalne jest gotowe, instalujemy pakiet databricks-connect. Wersja klienta powinna być taka sama jak Databricks Runtime. W naszym przypadku będzie to 7.3:

Pamiętaj, że wersja klienta to “X.Y.”, gdzie X.Y odpowiada Databricks Runtime (7.3), a “” to wersja pakietu. Użycie “*” zapewnia, że zawsze korzystasz z najnowszej wersji.

Po udanej instalacji czas na konfigurację połączenia. Przed tym przygotuj kilka rzeczy:

  • Workspace url (Databricks host)
  • Cluster ID
  • Organization ID (Org ID) (tylko Azure!)
  • Personal token
  • Connection port

Pierwsze trzy parametry znajdziesz w url klastra, z którym chcesz się połączyć. W przeglądarce otwórz “Compute”, a następnie wybrany klaster. Personal token wygenerujesz w “User settings”. Instrukcję znajdziesz tutaj.

Domyślny port połączenia to 15001. Jeśli został zmieniony, znajdziesz go prawdopodobnie w “Advanced Options” w zakładce “Spark” (klucz konfiguracyjny “spark.databricks.service.port”).

Gdy masz już wszystkie wymagane parametry, możesz skonfigurować klienta databricks connection, uruchamiając:

Następnie podaj wymagane parametry. Po tym możesz sprawdzić połączenie:

Wynik powinien wyglądać tak:

Uruchamianie przykładowego kodu
Integracja z VSC IDE
Przed uruchomieniem kodu na Databricks Cluster musisz zintegrować databricks-connector z IDE. W moim przypadku będzie to Visual Studio Code. Integracja z VSC jest bardzo prosta – wystarczy wskazać IDE środowisko pythonowe, w którym zainstalowany jest databricks-connector. Po uruchomieniu kodu PySpark, connector wykona go na klastrze DB.

Aby zmienić interpreter Pythona w VSC, naciśnij F1 i zacznij wpisywać “Python: Select Interpreter”.
Następnie wybierz środowisko python z listy lub podaj ścieżkę do pliku wykonywalnego Pythona.

Teraz możesz uruchamiać kod z IDE na DB Cluster. Databricks connector rozpozna kod pyspark i wykona go na klastrze. Jeśli kod nie zawiera pyspark, zostanie wykonany lokalnie. Poniżej przykład kodu z fragmentem pyspark, który zostanie wykonany na DB Cluster.

Pamiętaj, że najpierw trzeba utworzyć spark session. Gdy uruchamiasz kod bezpośrednio w Databricks Workspace, spark session jest już zainicjalizowana. Kod znajdziesz w tym repozytorium.

Nie tylko VSC!
Możesz zintegrować wiele IDE, np. PyCharm, Eclipse czy Jupyter Notebook. Instrukcje konfiguracji innych IDE znajdziesz tutaj.

Dostęp do DBUtils
DBUtils to bardzo przydatny moduł do pracy z notebookami. Dzięki niemu możesz czytać sekrety lub wykonywać polecenia FS na DBFS. Możesz używać “dbutils” tak samo jak w Databricks notebooks.
Aby to zrobić, zainstaluj pakiet “six” w swoim środowisku:

Teraz możesz korzystać z fs i secrets:

Przykład znajdziesz w repozytorium.

Dostęp do kodu z DB Workspace
Możesz pobierać i wysyłać notebooki z DB Workspace za pomocą databricks CLI. Aby zainstalować CLI, uruchom w terminalu:

Aby skonfigurować databricks CLI, potrzebujesz workspace URL i token. Opisałem powyżej, jak je uzyskać. Oba muszą być podane podczas konfiguracji:

Następnie użyj poleceń import i export:

Databricks CLI umożliwia także tworzenie klastrów, zarządzanie dbfs itd. Pełną listę poleceń znajdziesz tutaj.

Nie tylko Py!
Możesz skonfigurować środowisko i IDE do uruchamiania kodu w R oraz Scala!
Więcej informacji znajdziesz pod linkami:

  • R code -> link
  • Scala/Java -> link

Ograniczenia
Niestety, korzystanie z databricks-connector ma pewne ograniczenia. Przede wszystkim można używać tylko wybranych DB Runtime clusters. W momencie pisania artykułu były to: 9.1 LTS, 7.3 LTS, 6.4 i 5.5 LTS. Dostępne są tylko moduły fs i secrets z dbutils. Moduły library, notebook czy widgets nie są wspierane przez databricks-connector. Ponadto nie można połączyć się z klastrami z Table access control.

To najważniejsze ograniczenia. Pełną listę znajdziesz tutaj:

  • Azure
  • AWS
  • GCP

Podsumowanie
Jak widzisz, konfiguracja pakietu “databricks connect” jest prosta i znacznie przyspiesza development w ulubionym IDE. Cały kod znajdziesz w specjalnie przygotowanym repozytorium GitHub. Sprawdź naszego bloga, aby dowiedzieć się więcej o Databricks Clusters.

Wprowadzenie do jakosci danych definicje i przyklady

Przeprojektowany interfejs uzytkownika w airflow 2-0

Definicja data pipeline projekt i proces

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

Curious how we can support your business?

TALK TO US