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

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

注記

この記事では、Databricks Runtime13.3LTLTS以降のDatabricks Connectについて説明します。

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

注記

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

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

  • WorkspaceClient クラスの dbutils 変数を使用して、Databricks ユーティリティにアクセスします。WorkspaceClient クラスは Databricks SDK for Python に属し、Databricks Connect に含まれています。
  • dbutils.fs を使用して、 Databricks ユーティリティ fs ユーティリティにアクセスします。
  • dbutils.secrets を使用して、 Databricks ユーティリティ secrets ユーティリティにアクセスします。
  • dbutilsを通じて、上記のユーティリティ以外の Databricks ユーティリティの機能は利用できません。
ヒント

付属の for を使用して、前述のDatabricksSDK PythonDatabricksRESTAPIDatabricksユーティリティ だけでなく、使用可能な任意のAPIs にアクセスすることもできます。PyPI の databricks-sdk を参照してください。

WorkspaceClientを初期化するには、ワークスペースで Databricks SDK を認証するための十分な情報を提供する必要があります。たとえば、次のことができます。

  • ワークスペースの URL とアクセス トークンをコード内で直接ハードコーディングし、次のように WorkspaceClient 初期化します。 このオプションはサポートされていますが、Databricks では、コードがバージョン管理にチェックインされたり、共有されたりした場合に、アクセス トークンなどの機密情報が公開される可能性があるため、このオプションは お勧めしません

    Python
    from databricks.sdk import WorkspaceClient

    w = WorkspaceClient(host = f"https://{retrieve_workspace_instance_name()}",
    token = retrieve_token())
  • フィールド hosttokenを含む設定プロファイルを作成または指定し、次のようにWorkspaceClientを初期化します。

    Python
    from databricks.sdk import WorkspaceClient

    w = WorkspaceClient(profile = "<profile-name>")
  • 環境変数 DATABRICKS_HOSTDATABRICKS_TOKEN を Databricks Connect の場合と同じ方法で設定し、次のように WorkspaceClient 初期化します。

    Python
    from databricks.sdk import WorkspaceClient

    w = WorkspaceClient()

Databricks SDK for Python は、Databricks Connect の SPARK_REMOTE 環境変数を認識しません。

の のその他のDatabricks 認証オプションと、DatabricksSDK PythonAccountClientDatabricksSDK 内のDatabricksRESTAPIs を初期化して、ワークスペース レベルではなくアカウント レベルで使用可能な にアクセスする方法については、 のdatabricks-sdk PyPIを参照してください。

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

Python
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

file_path = "/Volumes/main/default/my-volume/zzz_hello.txt"
file_data = "Hello, Databricks!"
fs = w.dbutils.fs

fs.put(
file = file_path,
contents = file_data,
overwrite = True
)

print(fs.head(file_path))

fs.rm(file_path)

Databricks SDK for Python ドキュメントの 「dbutils との対話 」も参照してください。