共用方式為


適用於 Python 的 Databricks 公用程式與 Databricks 連線

注意

本文涵蓋 Databricks 連線 Databricks Runtime 13.0 和更新版本。

本文說明如何使用 Databricks 公用程式搭配適用於 Python 的 Databricks 連線。 Databricks 連線 可讓您將熱門的 IDE、Notebook 伺服器和自定義應用程式連線至 Azure Databricks 叢集。 請參閱什麼是 Databricks 連線?。 如需本文的 Scala 版本,請參閱適用於 Scala 的 Databricks 公用程式與 Databricks 連線。

注意

開始使用 Databricks 連線 之前,您必須先設定 Databricks 連線 用戶端

您可以使用 Databricks 連線 來存取 Databricks 公用程式,如下所示:

  • WorkspaceClient使用 類別的dbutils變數來存取 Databricks Utilities。 類別WorkspaceClient屬於適用於 PythonDatabricks SDK,並包含在 Databricks 連線 中。
  • 用來 dbutils.fs 存取 Databricks Utilities fs 公用程式。
  • 用來 dbutils.secrets 存取 Databricks 公用程式 秘密 公用程式。
  • 上述公用程式以外的任何 Databricks 公用程式功能都無法透過 dbutils取得。

提示

您也可以使用內含的 Databricks SDK for Python 來存取任何可用的 Databricks REST API,而不只是上述 Databricks 公用程式 API。 請參閱 PyPI 上的 databricks-sdk

若要初始化 WorkspaceClient,您必須提供足夠的資訊來向工作區驗證 Databricks SDK。 例如,您可以:

  • 直接在程序代碼中將工作區 URL 和存取令牌硬式編碼,然後初始化 WorkspaceClient ,如下所示。 雖然支援此選項,但 Databricks 不建議 使用此選項,因為它可以公開敏感性資訊,例如存取令牌,如果您的程式代碼已簽入版本控制或其他共用:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(host  = f"https://{retrieve_workspace_instance_name()}",
                        token = retrieve_token())
    
  • 建立或指定包含欄位hosttoken的組態設定檔,然後初始化 WorkspaceClient ,如下所示:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient(profile = "<profile-name>")
    
  • 設定環境變數DATABRICKS_HOST,並使用DATABRICKS_TOKEN您為 Databricks 連線 設定環境變數的方式相同,然後初始化WorkspaceClient,如下所示:

    from databricks.sdk import WorkspaceClient
    
    w = WorkspaceClient()
    

適用於 Python 的 Databricks SDK 無法辨識 SPARK_REMOTE Databricks 連線 的環境變數。

如需適用於 Python 的 Databricks SDK 的其他 Azure Databricks 驗證選項,以及如何在 Databricks SDK 內初始化 AccountClient ,以存取帳戶層級的可用 Databricks REST API,而不是在工作區層級,請參閱 PyPI 上的 databricks-sdk

下列範例示範如何使用適用於 Python 的 Databricks SDK 將 Databricks 公用程式自動化。 此範例會在工作區內的 Unity 目錄磁碟區路徑中建立名為 zzz_hello.txt 的檔案、從檔案讀取數據,然後刪除檔案。 此範例假設已設定環境變數 DATABRICKS_HOSTDATABRICKS_TOKEN

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 互動。