メインコンテンツまでスキップ

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

注記

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

この記事では、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.getDBUtilsDatabricks Scala ユーティリティ ライブラリに属しています。
  • Databricksプロジェクトでは、前述のユーティリティ以外の ユーティリティ機能は使用できません。Scala
  • Databricks Connect for Scalaは既にScalaライブラリのDatabricksユーティリティへの依存関係を宣言しているため、sbtbuild.sbt、Mavenのpom.xml、Gradleのbuild.gradleなど、Scala プロジェクトのビルド ファイルでこの依存関係を明示的に宣言する必要はありません。
  • Databricks ユーティリティ for Scala ライブラリの認証は、Databricks Connect プロジェクト内の DatabricksSession クラスを Scalaに対して初期化することによって決定されます。
ヒント

また、上述のDatabricks Utilities APIだけでなく、任意のDatabricks REST APIにアクセスするために、ScalaからJava向けDatabricks SDKを活用することができます。GitHub の databricks/databricks-sdk-java リポジトリと、 Databricks SDK for Java で Scala を使用するを参照してください。

次の例は、 Databricks ユーティリティ for Scala ライブラリを使用して Unity Catalog ボリュームを自動化する方法を示しています。 この例では、ワークスペース内のボリュームのパスに zzz_hello.txt という名前のファイルを作成し、ファイルからデータを読み取り、ファイルを削除します。

Scala
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)
}
}