Databricks ユーティリティ with Databricks Connect for Scala

この記事では、Databricks Connect for Databricks Runtime 13.3 LTS 以降について説明します。

この記事では、Databricks Connect for Scala で Databricks ユーティリティ を使用する方法について説明します。 Databricks Connect を使用すると、一般的な IDE、ノートブック サーバー、およびカスタム アプリケーションを Databricks クラスターに接続できます。 「Databricks Connect とは」を参照してください。この記事の Python バージョンについては、「 Databricks ユーティリティと Databricks Connect for Python 」を参照してください。

Databricks Connectの使用を開始する前に、Databricks Connect クライアントをセットアップする必要があります。

次のように、Databricks Connect を使用して Databricks ユーティリティにアクセスします。

  • DBUtils.getDBUtils を使用して、Databricks ユーティリティを介して Databricks ファイル システム (DBFS)シークレットにアクセスしますDBUtils.getDBUtils は、 Databricks ユーティリティ for Scala ライブラリに属しています。

  • 上記のユーティリティ以外の Databricks ユーティリティ機能は、Scala プロジェクトでは使用できません。

  • Databricks Connect for Scala では、Databricks ユーティリティ for Scala ライブラリへの依存関係が既に宣言されているため、Scala プロジェクトのビルド ファイル (sbtの場合は build.sbt、Maven の場合はpom.xml、Gradle の場合は build.gradle など) でこの依存関係を明示的に宣言する必要はありません。

  • Scala ライブラリ用 Databricks ユーティリティの認証は、Scala 用 Databricks Connect プロジェクトの DatabricksSession クラスを初期化することによって決定されます。

ヒント

また、Scala から Databricks SDK for Java を使用して、前述の Databricks ユーティリティ APIsだけでなく、使用可能な任意の Databricks REST API にアクセスすることもできます。 GitHub の databricks /databricks-sdk-java リポジトリを参照し、 Databricks SDK for Java で Scala を使用する方法も参照してください。

次の例は、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)
  }
}