Databricks 連線

Databricks 連線類型啟用 Databricks 和 Databricks SQL 整合。

驗證 Databricks

有多種方法可以使用 Airflow 連線到 Databricks。

  1. 使用個人存取權杖 (PAT),即將權杖新增到 Airflow 連線。這是建議的方法。

  2. 使用 Databricks 登入憑證,即將用於登入 Databricks 帳戶的使用者名稱和密碼新增到 Airflow 連線。請注意,不鼓勵使用使用者名稱/密碼驗證,且 DatabricksSqlOperator 不支援此驗證方式。

  3. 使用從 Azure 服務主體的 ID 和密碼產生的 Azure Active Directory (AAD) 權杖(僅限 Azure Databricks)。服務主體可以定義為工作區內的使用者,或工作區外部具有擁有者或參與者權限的使用者

  4. 使用為 Azure 受控識別 取得的 Azure Active Directory (AAD) 權杖,當 Airflow 在具有已指派受控識別(系統指派或使用者指派)的 VM 上執行時

預設連線 ID

與 Databricks 相關的 Hook 和運算子預設使用 databricks_default

設定連線

主機 (必填)

指定 Databricks 工作區 URL

登入 (選填)
  • 如果使用Databricks 登入憑證進行驗證,則指定用於登入 Databricks 的 username

  • 如果使用Azure 服務主體進行驗證,則指定 Azure 服務主體的 ID

  • 如果使用 PAT 進行驗證,則將此欄位留空或使用 'token' 作為登入(兩者皆可運作,唯一的區別在於,如果登入為空,則權杖將在請求標頭中以 Bearer 權杖形式傳送;如果登入為 'token',則將使用 Databricks API 允許的基本驗證傳送,如果您計劃將此連線與例如 HttpOperator 重複使用,這可能會很有用)

  • 如果使用 Databricks 服務主體 OAuth 進行驗證,則指定服務主體的 ID (AWS 上的 Databricks)

密碼 (選填)
  • 如果使用Databricks 登入憑證進行驗證,則指定用於登入 Databricks 的 password

  • 如果使用Azure 服務主體進行驗證,則指定 Azure 服務主體的密碼

  • 如果使用 PAT 進行驗證,則指定 PAT(建議)

  • 如果使用 Databricks 服務主體 OAuth 進行驗證,則指定服務主體的密碼 (AWS 上的 Databricks)

額外 (選填)

指定可在 Databricks 連線中使用的額外參數(以 json 字典形式)。

如果使用 PAT 驗證方法,則可以使用以下參數

  • token:指定要使用的 PAT。考慮切換到在密碼欄位中指定 PAT,因為這樣更安全。

如果使用 OAuth 權杖對 AWS Databricks 服務主體進行驗證,則以下參數是必要的

  • service_principal_oauth:必要的布林旗標。如果指定為 true,則使用用戶端 ID 和用戶端密碼作為使用者名稱和密碼。請參閱使用 OAuth 進行服務主體驗證

如果使用 AAD 權杖進行驗證,則以下參數是必要的

  • azure_tenant_id:Azure Active Directory 租用戶的 ID

  • azure_resource_id:Azure Databricks 工作區的選填資源 ID(如果服務主體不是工作區內的使用者,則為必填)

  • azure_ad_endpoint:如果您使用特殊的Azure 雲端 (GovCloud、中國、德國),則為 Azure AD 端點的選填主機名稱。該值必須包含協定。例如:https://login.microsoftonline.de

如果使用 AAD 權杖對 Azure 受控識別進行驗證,則以下參數是必要的

  • use_azure_managed_identity:必要的布林旗標,用於指定是否需要使用受控識別而不是服務主體

  • use_default_azure_credential:必要的布林旗標,用於指定是否應使用 DefaultAzureCredential 類別來檢索 AAD 權杖。例如,這可以在使用 Azure Kubernetes Service 叢集內的工作負載身分識別進行驗證時使用。請注意,此選項不能與 use_azure_managed_identity 參數一起設定。

  • azure_resource_id:Azure Databricks 工作區的選填資源 ID(如果受控識別不是工作區內的使用者,則為必填)

當使用 DatabricksSqlOperator 時,可以設定以下參數

  • http_path:Databricks SQL 端點或 Databricks 叢集的選填 HTTP 路徑。請參閱文件

  • session_configuration:包含 Spark 會議設定參數的選填地圖。

  • databricks-sql-connector 套件中 Connection 物件的具名內部引數。

當使用環境變數指定連線時,您應該使用 URI 語法指定它。

請注意,URI 的所有組件都應進行 URL 編碼。

例如

export AIRFLOW_CONN_DATABRICKS_DEFAULT='databricks://@host-url?token=yourtoken'

這個條目是否有幫助?