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.

  1. 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.

  2. Upewnij się, że najnowsza wersja programu sbt jest zainstalowana lokalnie.

  3. Zainstaluj rozszerzenie Scala (Metals) dla programu Visual Studio Code.

  4. W programie Visual Studio Code otwórz folder, w którym chcesz utworzyć projekt Scala (plik > otwórz folder).

  5. Na pasku bocznym kliknij ikonę rozszerzenia Metale , a następnie kliknij pozycję Nowy projekt Scala.

  6. 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.

  7. 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.

  8. 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()
    }
    
  9. Skompiluj projekt: uruchom polecenie >Metals: importuj kompilację z palety poleceń.

  10. Dodaj ustawienia uruchamiania projektu: w widoku Uruchom i debugowanie (Wyświetl > przebieg) kliknij link oznaczony etykietą utwórz plik launch.json.

  11. W palecie poleceń wybierz pozycję Scala Debugger.

  12. 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": []
        }
      ]
    }
    
  13. 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.

  14. 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.