Apache Trino 连接

Apache Trino 连接类型用于连接 Trino,Trino 是一个分布式 SQL 查询引擎,旨在查询跨一个或多个异构数据源分布的大型数据集。

默认连接 ID

Trino Hook 使用参数 trino_conn_id 作为连接 ID,默认情况下该参数的值为 trino_default。Trino Hook 支持多种认证类型以确保系统的所有用户均经过认证,参数 auth 可用于启用认证。该参数的默认值为 None

配置连接

主机

要连接的主机,可为 localyarn 或 URL。

端口

如果主机是 URL,请指定端口。

登录名

连接的有效用户。

密码

这可用于传递以启用基本认证。如果使用其他认证机制,则此参数为可选且不是必需的。

额外(可选,连接参数)

指定可在 Trino 连接中使用的额外参数(JSON 字典)。支持以下非标准 Python 参数。

  • auth - 指定需要启用的认证类型。取值可以是 certskerberosjwt

  • impersonate_as_owner - 布尔值,允许将 AIRFLOW_CTX_DAG_OWNER 设置为连接的用户。

以下额外参数可用于配置认证

  • jwt__token - 若要使用 JWT 认证,通过此参数提供 token 的值。

  • jwt__file - 若要使用 JWT 认证,提供包含 JWT token 的文件路径。

  • certs__client_cert_path, certs__client_key_path - 若使用证书认证,通过这些参数提供客户端证书和密钥的路径。

  • kerberos__service_name, kerberos__config, kerberos__mutual_authentication, kerberos__force_preemptive, kerberos__hostname_override, kerberos__sanitize_mutual_error_response, kerberos__principal, kerberos__delegate, kerberos__ca_bundle - 如果启用 kerberos 认证,可设置这些参数。

  • session_properties - JSON 字典,用于设置 session_properties。例如:{'session_properties':{'scale_writers':true,'task_writer_count:1'}}

  • client_tags - 逗号分隔的标签列表。例如 {'client_tags':['sales','cluster1']}

  • timezone - 会话的时区,可使用 IANA 时区名称显式设置。例如:{'timezone':'Asia/Jerusalem'}

  • extra_credential - 传递给 Trino 连接器的键值字符串对列表。更多信息,请参考 Trino 客户端协议文档页面:https://trino.io/docs/current/develop/client-protocol.html

  • roles - 将目录名映射到其对应的 Trino 授权角色。更多信息,请参考 Trino Python 客户端文档:https://github.com/trinodb/trino-python-client?tab=readme-ov-file#roles

注意:如果同时提供 jwt__filejwt__token,则以 jwt__file 为准。

此条目是否有帮助?