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.getDBUtils
は Databricks Scala ユーティリティ ライブラリに属しています。- Databricksプロジェクトでは、前述のユーティリティ以外の ユーティリティ機能は使用できません。Scala
- Databricks Connect for Scalaは既にScalaライブラリのDatabricksユーティリティへの依存関係を宣言しているため、
sbt
のbuild.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
という名前のファイルを作成し、ファイルからデータを読み取り、ファイルを削除します。
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)
}
}