Databricks 实用工具与适用于 Scala 的 Databricks Connect

注意

本文介绍适用于 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。

本文介绍如何将 Databricks 实用工具与适用于 Scala 的 Databricks Connect 配合使用。 Databricks Connect 使你能够将常用 IDE、笔记本服务器和自定义应用程序连接到 Azure Databricks 群集。 请参阅什么是 Databricks Connect?。 有关本文的 Python 版本,请参阅 Databricks 实用工具与适用于 Python 的 Databricks Connect

注意

在开始使用 Databricks Connect 之前,必须先设置 Databricks Connect 客户端

按照以下方式使用 Databricks Connect 访问 Databricks 实用工具:

  • 使用 DBUtils.getDBUtils 通过 Databricks 实用工具访问 Databricks 文件系统 (DBFS)机密DBUtils.getDBUtils 属于适用于 Scala 的 Databricks 实用工具库。
  • 除了上述实用工具之外,没有 Databricks 实用工具功能可用于 Scala 项目。
  • Databricks Connect for Scala 已经声明了对适用于 Scala 库的 Databricks 实用程序的依赖关系,因此无需在 Scala 项目的生成文件中显式声明此依赖关系,例如 sbtbuild.sbt,Maven 的 pom.xml 或 Gradle 的 build.gradle
  • 适用于 Scala 的 Databricks 实用工具库的身份验证是通过在适用于 Scala 的 Databricks Connect 项目中启动 DatabricksSession 类来确定的。

提示

还可以通过 Scala 使用适用于 Java 的 Databricks SDK 访问任何可用的 Databricks REST API,而不仅仅是前面的 Databricks 实用工具 API。 请参阅 GitHub 中的 databricks/databricks-sdk-java 存储库,以及将 Scala 与用于 Java 的 Databricks SDK 配合使用

以下示例演示如何使用 Databricks Utilities for 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)
  }
}