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 项目的生成文件中显式声明此依赖关系,例如
sbt
的build.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)
}
}