Databricks Connect for Scala を使用した Databricks ユーティリティ
Note
この記事では、Databricks Runtime 13.3 LTS 以降用の Databricks Connect について説明します。
この記事では、Databricks Connect for Scala で Databricks ユーティリティを使用する方法について説明します。 Databricks Connect を使用すると、一般的な IDE、ノートブック サーバー、カスタム アプリケーションを Azure Databricks クラスターに接続できます。 「Databricks Connect とは?」を参照してください。 この記事の Python バージョンについては、「Databricks Connect for Python を使用した Databricks ユーティリティ」を参照してください。
Note
Databricks Connect の使用を開始する前に、Databricks Connect クライアントを設定必要があります。
次のように、Databricks Connect を使用して Databricks ユーティリティにアクセスします。
DBUtils.getDBUtils
を使用して、Databricks Utilities を介して Databricks File System (DBFS) およびシークレットにアクセスします。DBUtils.getDBUtils
は、Databricks Utilities for Scala ライブラリに属しています。- Scala プロジェクトでは、上記のユーティリティ以外の Databricks Utilities 機能は使用できません。
- Databricks Connect for Scala では既に Scala ライブラリ用の Databricks ユーティリティへの依存関係が宣言されているため、
sbt
の場合はbuild.sbt
、Maven の場合はpom.xml
、Gradle の場合はbuild.gradle
など、Scala プロジェクトのビルド ファイルでこの依存関係を明示的に宣言する必要はありません。 - Databricks Utilities for Scala ライブラリの認証は、Scala 用の Databricks Connect プロジェクトで
DatabricksSession
クラスを初期化することで決定されます。
ヒント
Scala から Databricks SDK for Java を使用して、上記の Databricks Utilities API だけでなく、使用可能なすべての Databricks REST API にもアクセスできます。 databricks/databricks-sdk-java リポジトリ (GitHub)、および「Databricks SDK for Java で Scala を使用する」の記事を参照してください。
次の例は、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)
}
}