Databricks 连接¶
Databricks 连接类型支持 Databricks 和 Databricks SQL 集成。
验证到 Databricks¶
有几种使用 Airflow 连接到 Databricks 的方法。
使用个人访问令牌 (PAT),即向 Airflow 连接添加令牌。这是推荐的方法。
使用 Databricks 登录凭据,即向 Airflow 连接添加用于登录 Databricks 帐户的用户名和密码。请注意,不鼓励使用用户名/密码身份验证,并且不支持
DatabricksSqlOperator
。使用从 Azure 服务主体的 ID 和密钥生成的 Azure Active Directory (AAD) 令牌(仅在 Azure Databricks 上)。服务主体可以定义为工作区内的用户,或者工作区外部具有所有者或参与者权限的用户
使用为Azure 托管标识获取的 Azure Active Directory (AAD) 令牌,当 Airflow 在具有分配的托管标识(系统分配或用户分配)的 VM 上运行时
默认连接 ID¶
与 Databricks 相关的 Hooks 和运算符默认使用 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,因为它更安全。
如果使用 AWS Databricks 服务主体的 OAuth 令牌进行身份验证,则以下参数是必需的
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
。
如果使用 Azure 托管标识的 AAD 令牌进行身份验证,则以下参数是必需的
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'