Databricks Connect dla języka Scala
Uwaga
W tym artykule opisano usługę Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego.
W tym artykule pokazano, jak szybko rozpocząć pracę z usługą Databricks Connect przy użyciu języka Scala z narzędziem IntelliJ IDEA i wtyczką Scala.
- Aby zapoznać się z wersją języka Python tego artykułu, zobacz Databricks Connect dla języka Python.
- Aby zapoznać się z wersją języka R tego artykułu, zobacz Databricks Connect for R.
Usługa Databricks Connect umożliwia łączenie popularnych środowisk IDE, takich jak IntelliJ IDEA, serwery notesów i inne aplikacje niestandardowe z klastrami usługi Azure Databricks. Zobacz Co to jest usługa Databricks Connect?.
Samouczek
Aby pominąć ten samouczek i użyć innego środowiska IDE, zobacz Następne kroki.
Wymagania
Aby ukończyć ten samouczek, musisz spełnić następujące wymagania:
Docelowy obszar roboczy i klaster usługi Azure Databricks muszą spełniać wymagania konfiguracji obliczeniowej dla usługi Databricks Connect.
Musisz mieć dostępny identyfikator klastra. Aby uzyskać identyfikator klastra, w obszarze roboczym kliknij pozycję Obliczenia na pasku bocznym, a następnie kliknij nazwę klastra. Na pasku adresu przeglądarki internetowej skopiuj ciąg znaków między
clusters
iconfiguration
w adresie URL.Masz zainstalowany zestaw Java Development Kit (JDK) na komputerze deweloperskim. Usługa Databricks zaleca, aby wersja używanej instalacji zestawu JDK odpowiadała wersji zestawu JDK w klastrze usługi Azure Databricks. W poniższej tabeli przedstawiono wersję zestawu JDK dla każdego obsługiwanego środowiska Databricks Runtime.
Wersja środowiska Databricks Runtime Wersja zestawu JDK 13.3 LTS — 15.0,
13,3 ML LTS — 15,0 MLJDK 8 16.0 JDK 17 Uwaga
Jeśli nie masz zainstalowanego zestawu JDK lub masz wiele instalacji zestawu JDK na komputerze deweloperskim, możesz zainstalować lub wybrać określony zestaw JDK w dalszej części kroku 1. Wybranie instalacji zestawu JDK poniżej lub nowszej wersji zestawu JDK w klastrze może spowodować nieoczekiwane wyniki lub kod może w ogóle nie działać.
Masz zainstalowany program IntelliJ IDEA. Ten samouczek został przetestowany przy użyciu środowiska IntelliJ IDEA Community Edition 2023.3.6. Jeśli używasz innej wersji lub wydania środowiska IntelliJ IDEA, poniższe instrukcje mogą się różnić.
Masz zainstalowaną wtyczkę Scala dla środowiska IntelliJ IDEA.
Krok 1. Konfigurowanie uwierzytelniania usługi Azure Databricks
W tym samouczku używane jest uwierzytelnianie użytkownika do komputera (U2M) usługi Azure Databricks oraz profil konfiguracji usługi Azure Databricks do uwierzytelniania w obszarze roboczym usługi Azure Databricks. Aby zamiast tego użyć innego typu uwierzytelniania, zobacz Konfigurowanie właściwości połączenia.
Konfigurowanie uwierzytelniania OAuth U2M wymaga interfejsu wiersza polecenia usługi Databricks w następujący sposób:
Jeśli nie został jeszcze zainstalowany, zainstaluj interfejs wiersza polecenia usługi Databricks w następujący sposób:
Linux, macOS
Użyj oprogramowania Homebrew , aby zainstalować interfejs wiersza polecenia usługi Databricks, uruchamiając następujące dwa polecenia:
brew tap databricks/tap brew install databricks
Windows
Do zainstalowania interfejsu wiersza polecenia usługi Databricks można użyć zestawu narzędzi winget, Chocolatey lub Podsystem Windows dla systemu Linux (WSL). Jeśli nie możesz użyć
winget
polecenia , Chocolatey lub WSL, należy pominąć tę procedurę i użyć wiersza polecenia lub programu PowerShell, aby zainstalować interfejs wiersza polecenia usługi Databricks ze źródła .Uwaga
Instalowanie interfejsu wiersza polecenia usługi Databricks za pomocą platformy Chocolatey jest eksperymentalne.
winget
Aby zainstalować interfejs wiersza polecenia usługi Databricks, uruchom następujące dwa polecenia, a następnie uruchom ponownie wiersz polecenia:winget search databricks winget install Databricks.DatabricksCLI
Aby zainstalować interfejs wiersza polecenia usługi Databricks za pomocą aplikacji Chocolatey, uruchom następujące polecenie:
choco install databricks-cli
Aby użyć programu WSL do zainstalowania interfejsu wiersza polecenia usługi Databricks:
Instalowanie
curl
izip
za pośrednictwem programu WSL. Aby uzyskać więcej informacji, zobacz dokumentację systemu operacyjnego.Użyj programu WSL, aby zainstalować interfejs wiersza polecenia usługi Databricks, uruchamiając następujące polecenie:
curl -fsSL https://raw.githubusercontent.com/databricks/setup-cli/main/install.sh | sh
Upewnij się, że interfejs wiersza polecenia usługi Databricks jest zainstalowany, uruchamiając następujące polecenie, które wyświetla bieżącą wersję zainstalowanego interfejsu wiersza polecenia usługi Databricks. Ta wersja powinna mieć wartość 0.205.0 lub nowszą:
databricks -v
Uwaga
Jeśli uruchomisz
databricks
polecenie , ale wystąpi błąd, taki jakcommand not found: databricks
, lub jeśli uruchomiszdatabricks -v
polecenie i zostanie wyświetlony numer wersji 0.18 lub poniżej, oznacza to, że maszyna nie może odnaleźć poprawnej wersji pliku wykonywalnego interfejsu wiersza polecenia usługi Databricks. Aby rozwiązać ten problem, zobacz Weryfikowanie instalacji interfejsu wiersza polecenia.
Zainicjuj uwierzytelnianie OAuth U2M w następujący sposób:
Użyj interfejsu wiersza polecenia usługi Databricks, aby lokalnie zainicjować zarządzanie tokenami OAuth, uruchamiając następujące polecenie dla każdego docelowego obszaru roboczego.
W poniższym poleceniu zastąp ciąg
<workspace-url>
adresem URL usługi Azure Databricks na obszar roboczy, na przykładhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --configure-cluster --host <workspace-url>
Interfejs wiersza polecenia usługi Databricks monituje o zapisanie informacji wprowadzonych jako profil konfiguracji usługi Azure Databricks. Naciśnij
Enter
, aby zaakceptować sugerowaną nazwę profilu lub wprowadź nazwę nowego lub istniejącego profilu. Każdy istniejący profil o tej samej nazwie zostanie zastąpiony wprowadzonymi informacjami. Profile umożliwiają szybkie przełączanie kontekstu uwierzytelniania między wieloma obszarami roboczymi.Aby uzyskać listę wszystkich istniejących profilów, w osobnym terminalu lub wierszu polecenia użyj interfejsu wiersza polecenia usługi Databricks, aby uruchomić polecenie
databricks auth profiles
. Aby wyświetlić istniejące ustawienia określonego profilu, uruchom poleceniedatabricks auth env --profile <profile-name>
.W przeglądarce internetowej wykonaj instrukcje na ekranie, aby zalogować się do obszaru roboczego usługi Azure Databricks.
Na liście dostępnych klastrów wyświetlanych w terminalu lub wierszu polecenia użyj strzałek w górę i w dół, aby wybrać docelowy klaster usługi Azure Databricks w obszarze roboczym, a następnie naciśnij
Enter
. Możesz również wpisać dowolną część nazwy wyświetlanej klastra, aby filtrować listę dostępnych klastrów.Aby wyświetlić bieżącą wartość tokenu OAuth profilu i zbliżający się znacznik czasu wygaśnięcia tokenu, uruchom jedno z następujących poleceń:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Jeśli masz wiele profilów o tej samej
--host
wartości, może być konieczne określenie--host
opcji i-p
, aby ułatwić interfejsowi wiersza polecenia usługi Databricks znalezienie prawidłowych pasujących informacji o tokenie OAuth.
Krok 2. Tworzenie projektu
Uruchom środowisko IntelliJ IDEA.
W menu głównym kliknij pozycję Plik > nowy > projekt.
Nadaj projektowi znaczącą nazwę.
W obszarze Lokalizacja kliknij ikonę folderu i ukończ wskazówki na ekranie, aby określić ścieżkę do nowego projektu Scala.
W obszarze Język kliknij pozycję Scala.
W obszarze System kompilacji kliknij pozycję sbt.
Z listy rozwijanej zestaw JDK wybierz istniejącą instalację zestawu JDK na maszynie dewelopera zgodnej z wersją zestawu JDK w klastrze lub wybierz pozycję Pobierz zestaw JDK i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby pobrać zestaw JDK zgodny z wersją zestawu JDK w klastrze.
Uwaga
Wybranie instalacji zestawu JDK, która znajduje się powyżej lub poniżej wersji zestawu JDK w klastrze, może spowodować nieoczekiwane wyniki lub kod może w ogóle nie działać.
Z listy rozwijanej sbt wybierz najnowszą wersję.
Z listy rozwijanej Scala wybierz wersję języka Scala zgodną z wersją języka Scala w klastrze. W poniższej tabeli przedstawiono wersję języka Scala dla każdego obsługiwanego środowiska Databricks Runtime:
Wersja środowiska Databricks Runtime Wersja języka Scala 13.3 LTS — 15.0,
13,3 ML LTS — 15,0 ML2.12.15 Uwaga
Wybranie wersji języka Scala poniżej lub nowszej wersji języka Scala w klastrze może spowodować nieoczekiwane wyniki lub kod może w ogóle nie działać.
Upewnij się, że pole Pobierz źródła obok pozycji Scala jest zaznaczone.
W polu Prefiks pakietu wprowadź wartość prefiksu pakietu dla źródeł projektu, na przykład
org.example.application
.Upewnij się, że pole Dodaj przykładowy kod jest zaznaczone.
Kliknij pozycję Utwórz.
Krok 3. Dodawanie pakietu Databricks Connect
Po otwarciu nowego projektu Scala w oknie narzędzia Project (Wyświetl > narzędzie > Windows Project) otwórz plik o nazwie
build.sbt
, w polu docelowym nazwy> projektu.Dodaj następujący kod na końcu
build.sbt
pliku, który deklaruje zależność projektu od określonej wersji biblioteki Databricks Connect dla języka Scala:libraryDependencies += "com.databricks" % "databricks-connect" % "14.3.1"
Zastąp
14.3.1
element wersją biblioteki Databricks Connect zgodną z wersją środowiska Databricks Runtime w klastrze. Numery wersji biblioteki usługi Databricks Connect można znaleźć w centralnym repozytorium Maven.Kliknij ikonę powiadomienia Załaduj zmiany sbt , aby zaktualizować projekt Scala przy użyciu nowej lokalizacji biblioteki i zależności.
Poczekaj,
sbt
aż wskaźnik postępu w dolnej części środowiska IDE zniknie. Processbt
ładowania może potrwać kilka minut.
Krok 4. Dodawanie kodu
W oknie narzędzia Project otwórz plik o nazwie
Main.scala
w nazwie projektu> src > main > scala.Zastąp istniejący kod w pliku następującym kodem, a następnie zapisz plik w zależności od nazwy profilu konfiguracji.
Jeśli profil konfiguracji z kroku 1 nosi nazwę
DEFAULT
, zastąp dowolny istniejący kod w pliku następującym kodem, a następnie zapisz plik:package org.example.application import com.databricks.connect.DatabricksSession import org.apache.spark.sql.SparkSession object Main { def main(args: Array[String]): Unit = { val spark = DatabricksSession.builder().remote().getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() } }
Jeśli profil konfiguracji z kroku 1 nie ma nazwy
DEFAULT
, zastąp dowolny istniejący kod w pliku poniższym kodem. Zastąp symbol zastępczy<profile-name>
nazwą profilu konfiguracji z kroku 1, a następnie zapisz plik:package org.example.application import com.databricks.connect.DatabricksSession import com.databricks.sdk.core.DatabricksConfig import org.apache.spark.sql.SparkSession object Main { def main(args: Array[String]): Unit = { val config = new DatabricksConfig().setProfile("<profile-name>") val spark = DatabricksSession.builder().sdkConfig(config).getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() } }
Krok 5. Uruchamianie kodu
- Uruchom klaster docelowy w zdalnym obszarze roboczym usługi Azure Databricks.
- Po uruchomieniu klastra w menu głównym kliknij pozycję Uruchom > polecenie "Main".
- W oknie Uruchom narzędzie (Wyświetl > narzędzie > Windows Run) na karcie Main (Główne) zostanie wyświetlonych pierwszych 5 wierszy
samples.nyctaxi.trips
tabeli.
Krok 6. Debugowanie kodu
- Gdy klaster docelowy jest nadal uruchomiony, w poprzednim kodzie kliknij gutter obok, aby ustawić
df.limit(5).show()
punkt przerwania. - W menu głównym kliknij pozycję Uruchom > debugowanie "Main".
- W oknie Narzędzia debugowania (Wyświetl > narzędzie Debugowanie systemu Windows>) na karcie Konsola kliknij ikonę kalkulatora (Oceń wyrażenie).
- Wprowadź wyrażenie
df.schema
i kliknij przycisk Oceń , aby wyświetlić schemat ramki danych. - Na pasku bocznym okna narzędzia debugowania kliknij ikonę zielonej strzałki (wznów program).
- W okienku Konsola zostanie wyświetlonych pierwszych 5 wierszy
samples.nyctaxi.trips
tabeli.
Następne kroki
Aby dowiedzieć się więcej o programie Databricks Connect, zobacz artykuły, takie jak:
Aby użyć typów uwierzytelniania usługi Azure Databricks innych niż osobisty token dostępu usługi Azure Databricks, zobacz Konfigurowanie właściwości połączenia.
Aby użyć innych identyfikatorów IDE, zobacz następujące kwestie:
Aby wyświetlić dodatkowe proste przykłady kodu, zobacz Przykłady kodu dla programu Databricks Connect dla języka Scala.
Aby wyświetlić bardziej złożone przykłady kodu, zobacz przykładowe aplikacje dla repozytorium Databricks Connect w usłudze GitHub, w szczególności:
Aby przeprowadzić migrację z usługi Databricks Connect dla środowiska Databricks Runtime 12.2 LTS i poniżej do usługi Databricks Connect dla środowiska Databricks Runtime 13.3 LTS lub nowszego, zobacz Migrowanie do usługi Databricks Connect dla języka Scala.
Zobacz również informacje o rozwiązywaniu problemów i ograniczeniach.