Apache Trino 连接¶
Apache Trino 连接类型用于连接 Trino,Trino 是一个分布式 SQL 查询引擎,旨在查询跨一个或多个异构数据源分布的大型数据集。
默认连接 ID¶
Trino Hook 使用参数 trino_conn_id 作为连接 ID,默认情况下该参数的值为 trino_default。Trino Hook 支持多种认证类型以确保系统的所有用户均经过认证,参数 auth 可用于启用认证。该参数的默认值为 None。
配置连接¶
- 主机
要连接的主机,可为
local、yarn或 URL。- 端口
如果主机是 URL,请指定端口。
- 登录名
连接的有效用户。
- 密码
这可用于传递以启用基本认证。如果使用其他认证机制,则此参数为可选且不是必需的。
- 额外(可选,连接参数)
指定可在 Trino 连接中使用的额外参数(JSON 字典)。支持以下非标准 Python 参数。
auth- 指定需要启用的认证类型。取值可以是certs、kerberos或jwtimpersonate_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.htmlroles- 将目录名映射到其对应的 Trino 授权角色。更多信息,请参考 Trino Python 客户端文档:https://github.com/trinodb/trino-python-client?tab=readme-ov-file#roles
注意:如果同时提供
jwt__file和jwt__token,则以jwt__file为准。