Поделиться через


Используйте Visual Studio Code с Databricks Connect для разработки на Scala

Заметка

В этой статье рассматриваются Databricks Connect для Databricks Runtime 13.3 LTS и более поздних версий.

В этой статье рассказывается, как подключить и использовать Databricks Connect для работы с Scala в Visual Studio Code. Databricks Connect позволяет подключать популярные среды разработки, серверы блокнотов и другие пользовательские приложения к кластерам Azure Databricks. См. Что такое Databricks Connect?. Версию Python этой статьи см. в разделе Использование Visual Studio Code с Databricks Connect для Python.

Заметка

Прежде чем начать использовать Databricks Connect, необходимо set клиент Databricks Connect.

Чтобы использовать Databricks Connect и Visual Studio Code с расширением Scala (Metals) для создания, запуска и отладки образца проекта Scala sbt, следуйте этим инструкциям. Этот пример также можно адаптировать к существующим проектам Scala.

  1. Убедитесь, что пакет средств разработки Java (JDK) и Scala установлены локально. Databricks рекомендует, чтобы локальная версия JDK и Scala соответствовали версии JDK и Scala в кластере Azure Databricks.

  2. Убедитесь, что последняя версия sbt установлена локально.

  3. Установите расширение Scala (Metals) для Visual Studio Code.

  4. В Visual Studio Code откройте папку where, в которой вы хотите создать проект Scala (File > Open Folder).

  5. На боковой панели щелкните значок расширения Металлы, а затем щелкните Новый проект Scala.

  6. В палитре команд выберите шаблон с именем scala/hello-world.g8и выполните инструкции на экране, чтобы завершить создание проекта Scala в указанной папке.

  7. Добавьте параметры сборки проекта: в представлении обозревателя (просмотр > explorer), откройте файл build.sbt из корневого каталога проекта, замените содержимое файла следующим текстом и сохраните файл.

    scalaVersion := "2.12.15"
    
    libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
    

    Замените 2.12.15 установленной версией Scala, которая должна соответствовать версии, включенной в версию среды выполнения Databricks в кластере.

    Замените 14.0.0 версией библиотеки Databricks Connect, которая соответствует версии среды выполнения Databricks в кластере. Номера версий библиотеки Databricks Connect можно найти в центральном репозитории Maven.

  8. Добавьте код Scala: откройте файл src/main/scala/Main.scala относительно корневого каталога проекта, замените содержимое файла следующим и сохраните файл:

    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. Создайте проект: выполните команду >Металлы: импорт сборку из палитры команд.

  10. Добавление параметров запуска проекта. В представлении & запуска & отладки (представлении > запустить), щелкните ссылку, помеченную создайте launch.json файл.

  11. Впалитры команд Отладчик Scala.

  12. Добавьте следующую конфигурацию запуска в файл launch.json, а затем сохраните файл:

    {
      // 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. Запустите проект: щелкните значок 'Воспроизведение' (Начать отладку) рядом с Scala: Запустить основной класс. В представлении консоли отладки (в окне просмотра консоли отладки>) отображаются первые 5 строк samples.nyctaxi.tripstable. Весь код Scala выполняется локально, в то время как весь код Scala, включающий операции DataFrame, выполняется в кластере в удаленной рабочей области Azure Databricks и ответы запуска отправляются обратно в локальный вызывающий объект.

  14. Отладка проекта: Set точки останова в коде и снова щелкните значок воспроизведения. Весь код Scala отлаживается локально, в то время как весь код Scala продолжает выполняться на кластере в удаленной рабочей области Azure Databricks. Основной код движка Spark невозможно отлаживать напрямую с клиента.