Databricks 连接

Databricks 连接类型支持 Databricks 和 Databricks SQL 集成。

验证到 Databricks

有几种使用 Airflow 连接到 Databricks 的方法。

  1. 使用个人访问令牌 (PAT),即向 Airflow 连接添加令牌。这是推荐的方法。

  2. 使用 Databricks 登录凭据,即向 Airflow 连接添加用于登录 Databricks 帐户的用户名和密码。请注意,不鼓励使用用户名/密码身份验证,并且不支持 DatabricksSqlOperator

  3. 使用从 Azure 服务主体的 ID 和密钥生成的 Azure Active Directory (AAD) 令牌(仅在 Azure Databricks 上)。服务主体可以定义为工作区内的用户,或者工作区外部具有所有者或参与者权限的用户

  4. 使用为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 令牌进行身份验证,则以下参数是必需的

如果使用 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

如果使用 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'

此条目是否有帮助?