Databricks 連線¶
Databricks 連線類型啟用 Databricks 和 Databricks SQL 整合。
驗證 Databricks¶
有多種方法可以使用 Airflow 連線到 Databricks。
使用個人存取權杖 (PAT),即將權杖新增到 Airflow 連線。這是建議的方法。
使用 Databricks 登入憑證,即將用於登入 Databricks 帳戶的使用者名稱和密碼新增到 Airflow 連線。請注意,不鼓勵使用使用者名稱/密碼驗證,且
DatabricksSqlOperator
不支援此驗證方式。使用從 Azure 服務主體的 ID 和密碼產生的 Azure Active Directory (AAD) 權杖(僅限 Azure Databricks)。服務主體可以定義為工作區內的使用者,或工作區外部具有擁有者或參與者權限的使用者
使用為 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 租用戶的 IDazure_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'