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


Служебные программы Databricks с Databricks Connect для Scala

Заметка

В этой статье рассматривается Databricks Connect для Databricks Runtime версии 13.3 LTS и выше.

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

Заметка

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

Вы используете Databricks Connect для доступа к служебным программам Databricks следующим образом:

  • Используйте для доступа к Файловой системе Databricks (DBFS) и секретов через служебные программы Databricks. DBUtils.getDBUtils принадлежит библиотеке Databricks Utilities for Scala.
  • Для проектов Scala нет функциональных возможностей Databricks Utilities, отличных от предыдущих служебных программ.
  • Databricks Connect для Scala уже объявляет зависимость от библиотеки утилит Databricks для Scala, поэтому вам не нужно явно указывать эту зависимость в файле сборки вашего проекта на Scala, такой как build.sbt для sbt, pom.xml для Maven или build.gradle для Gradle.
  • Проверка подлинности для библиотеки Databricks Utilities для Scala определяется путем инициализации класса DatabricksSession в проекте Databricks Connect для Scala.

Совет

Вы также можете использовать пакет SDK Databricks для Java из Scala для доступа к любому доступному REST API Databricks, а не только к предыдущим API служебных программ Databricks. См. репозиторий databricks/databricks-sdk-java в GitHub, а также Использовать Scala с пакетом SDK Databricks для Java.

В следующем примере показано, как с помощью библиотеки Databricks Utilities для Scala автоматизировать том Unity Catalog. В этом примере создается файл с именем zzz_hello.txt в пути тома в рабочей области, считывает данные из файла, а затем удаляет файл.

import com.databricks.sdk.scala.dbutils.DBUtils

object Main {
  def main(args: Array[String]): Unit = {

    val filePath = "/Volumes/main/default/my-volume/zzz_hello.txt"
    val fileData = "Hello, Databricks!"
    val dbutils = DBUtils.getDBUtils()

    dbutils.fs.put(
      file = filePath,
      contents = fileData,
      overwrite = true
    )

    println(dbutils.fs.head(filePath))

    dbutils.fs.rm(filePath)
  }
}