Używanie programu Visual Studio Code z usługą Databricks Połączenie dla języka Scala
Uwaga
W tym artykule opisano usługę Databricks Połączenie dla środowiska Databricks Runtime 13.3 LTS i nowszych wersji.
W tym artykule opisano sposób używania usługi Databricks Połączenie dla języka Scala z programem Visual Studio Code. Usługa Databricks Połączenie umożliwia łączenie popularnych środowisk IDE, serwerów notesów i innych aplikacji niestandardowych z klastrami usługi Azure Databricks. Zobacz Co to jest usługa Databricks Połączenie?. Aby zapoznać się z wersją tego artykułu w języku Python, zobacz Use Visual Studio Code with Databricks Połączenie for Python (Używanie programu Visual Studio Code z usługą Databricks Połączenie dla języka Python).
Uwaga
Przed rozpoczęciem korzystania z usługi Databricks Połączenie należy skonfigurować klienta usługi Databricks Połączenie.
Aby używać usług Databricks Połączenie i Visual Studio Code z rozszerzeniem Scala (Metale), aby utworzyć, uruchomić i debugować przykładowy projekt Scalasbt
, postępuj zgodnie z tymi instrukcjami. Możesz również dostosować ten przykład do istniejących projektów Scala.
Upewnij się, że zestaw Java Development Kit (JDK) i język Scala są zainstalowane lokalnie. Usługa Databricks zaleca, aby lokalne zestawy JDK i Scala odpowiadały wersji zestawu JDK i języka Scala w klastrze usługi Azure Databricks.
Upewnij się, że najnowsza wersja programu
sbt
jest zainstalowana lokalnie.Zainstaluj rozszerzenie Scala (Metals) dla programu Visual Studio Code.
W programie Visual Studio Code otwórz folder, w którym chcesz utworzyć projekt Scala (plik > otwórz folder).
Na pasku bocznym kliknij ikonę rozszerzenia Metale , a następnie kliknij pozycję Nowy projekt Scala.
W palecie poleceń wybierz szablon o nazwie scala/hello-world.g8 i ukończ instrukcje na ekranie, aby zakończyć tworzenie projektu Scala w określonym folderze.
Dodaj ustawienia kompilacji projektu: w widoku Eksploratora (Eksplorator widoków>) otwórz
build.sbt
plik z katalogu głównego projektu, zastąp zawartość pliku następującym kodem i zapisz plik:scalaVersion := "2.12.15" libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
Zastąp
2.12.15
element zainstalowaną wersją języka Scala, która powinna być zgodna z wersją dołączoną do wersji środowiska Databricks Runtime w klastrze.Zastąp
14.0.0
element wersją biblioteki usługi Databricks Połączenie zgodną z wersją środowiska Databricks Runtime w klastrze. Numery wersji biblioteki usługi Databricks Połączenie można znaleźć w centralnym repozytorium Maven.Dodaj kod Scala: Otwórz
src/main/scala/Main.scala
plik względem katalogu głównego projektu, zastąp zawartość pliku następującym kodem i zapisz plik:import com.databricks.connect.DatabricksSession import org.apache.spark.sql.SparkSession object Main extends App { val spark = DatabricksSession.builder().remote().getOrCreate() val df = spark.read.table("samples.nyctaxi.trips") df.limit(5).show() }
Skompiluj projekt: uruchom polecenie >Metals: importuj kompilację z palety poleceń.
Dodaj ustawienia uruchamiania projektu: w widoku Uruchom i debugowanie (Wyświetl > przebieg) kliknij link oznaczony etykietą utwórz plik launch.json.
W palecie poleceń wybierz pozycję Scala Debugger.
Dodaj następującą konfigurację
launch.json
przebiegu do pliku, a następnie zapisz plik:{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "scala", "request": "launch", "name": "Scala: Run main class", "mainClass": "Main", "args": [], "jvmOptions": [] } ] }
Uruchom projekt: kliknij ikonę odtwarzania (Rozpocznij debugowanie) obok pozycji Scala: Uruchom klasę główną. W widoku Konsola debugowania (Wyświetl > konsolę debugowania) zostanie wyświetlonych pierwszych 5 wierszy
samples.nyctaxi.trips
tabeli. Cały kod Scala działa lokalnie, podczas gdy cały kod Scala obejmujący operacje ramki danych jest uruchamiany w klastrze w zdalnym obszarze roboczym usługi Azure Databricks i uruchamiane odpowiedzi są wysyłane z powrotem do lokalnego obiektu wywołującego.Debuguj projekt: ustaw punkty przerwania w kodzie, a następnie ponownie kliknij ikonę odtwarzania. Cały kod Scala jest debugowany lokalnie, a cały kod Scala nadal działa w klastrze w zdalnym obszarze roboczym usługi Azure Databricks. Nie można debugować podstawowego kodu aparatu Spark bezpośrednio z klienta.