Apache Trino 连接

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

默认连接 ID

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

配置连接

主机

要连接到的主机,可以是 localyarn 或 URL。

端口

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

登录用户

用于连接的有效用户。

密码

用于启用基本认证。这是一个可选参数,如果使用不同的认证机制,则不需要。

Extra(可选,连接参数)

指定可在 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 - 允许设置 session_properties 的 JSON 字典。示例:{'session_properties':{'scale_writers':true,'task_writer_count:1'}}

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

  • timezone - 会话的时区可以使用 IANA 时区名称明确设置。示例:{'timezone':'Asia/Jerusalem'}

注意:如果同时提供了 jwt__filejwt__tokenjwt__file 将优先使用。

此条目有帮助吗?