次の方法で共有


Databricks Connectを使用したScala向けDatabricks Utilities

手記

この記事では、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 ユーティリティ」を参照してください。

手記

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

Databricks Connect を使用して、次のように Databricks Utilities にアクセスします。

  • DBUtils.getDBUtils を使用して、Databricks ファイル システム (DBFS) にアクセスし、Databricks Utilities で シークレット を取得します。 は、Scala ライブラリ用の Databricks Utilities に属しています。
  • Scala プロジェクトでは、上記のユーティリティ以外の Databricks ユーティリティ機能は使用できません。
  • Databricks Connect for Scala では、既に Scala ライブラリ用の Databricks Utilities への依存関係が宣言されているため、build.sbtsbt、Maven のpom.xml、Gradle のbuild.gradleなど、Scala プロジェクトのビルド ファイルでこの依存関係を明示的に宣言する必要はありません。
  • Scala 用 Databricks Utilities ライブラリの認証は、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 カタログ ボリュームを自動化する方法を示しています。 次の使用例は、ワークスペース内のボリュームのパスに 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)
  }
}