Databricks 实用工具与适用于 Scala 的 Databricks Connect
注意
本文介绍适用于 Databricks Runtime 13.3 LTS 及以上版本的 Databricks Connect。
本文介绍如何将 Databricks Utilities 与用于 Scala 的 Databricks Connect 配合使用。 Databricks Connect 使你能够将常用 IDE、笔记本服务器和自定义应用程序连接到 Azure Databricks 群集。 请参阅 什么是 Databricks Connect?。 有关本文的 Python 版本,请参阅 Databricks Utilities with Databricks Connect for Python。
注意
在开始使用 Databricks Connect 之前,必须先设置 Databricks Connect 客户端。
使用 Databricks Connect 访问 Databricks 实用工具,如下所示:
- 使用
DBUtils.getDBUtils
通过 Databricks 工具访问 Databricks 文件系统(DBFS) 和 密钥。DBUtils.getDBUtils
属于适用于 Scala 的 Databricks 实用工具库。 - 除了上述实用工具之外,没有 Databricks 实用工具功能可用于 Scala 项目。
- Databricks Connect for Scala 已声明对用于 Scala 的 Databricks Utilities 库的依赖项,因此无需在 Scala 项目的生成文件中显式声明此依赖项,例如用于
sbt
的build.sbt
、Maven 的pom.xml
或 Gradle 的build.gradle
。 - Databricks Utilities for Scala 库的身份验证是通过初始化用于 Scala 的 Databricks Connect 项目中的
DatabricksSession
类来确定的。
提示
还可以使用用于 Java 的 Databricks SDK 从 Scala 访问任何可用的 Databricks REST API,而不仅仅是前面的 Databricks 实用工具 API。 请参阅 GitHub 中的 databricks/databricks-sdk-java 存储库,并 将 Scala 与用于 Java 的 Databricks SDK配合使用。
以下示例演示如何使用适用于 Scala 的 Databricks 实用工具库自动执行 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)
}
}