在 AWS 上为 Snowflake 的 Spark 连接器配置代理
配置 Spark 连接器的 use_proxy、proxy_host 和 proxy_port 选项,并遵循 AWS 对协议、账户和绕过设置的官方限制。
在 AWS 上使用 Snowflake Spark 连接器时,请用连接器自带的代理选项配置读取器:
options = {
**snowflake_options,
'use_proxy': 'true',
'proxy_host': 'proxy.example',
'proxy_port': '8080',
'proxy_protocol': 'http',
}
reader = spark.read.format('snowflake').options(**options)
snowflake_options 保存应用的端点与身份验证设置。调用 load 之前,先加入目标表或查询。
use_proxy 默认为 false。启用后,它要求把 proxy_host 和 proxy_port 作为独立字段提供。proxy_user 与 proxy_password 用于提供中间账户。若没有代理身份验证,一条获准的公共代理路径可以使用 HTTP 代理列表中的主机和端口候选,同时保留 Snowflake 的账户设置。
Snowflake 将账户相关字段、proxy_protocol 和 non_proxy_hosts 记录为仅适用于 AWS。proxy_protocol 在连接器 2.11.1 中加入,默认值为 http。non_proxy_hosts 用经过 URL 转义的竖线(%7C)分隔主机,并支持星号通配符。
请使用与项目的 Spark 和 Scala 版本相匹配的连接器。这些数据源选项有各自的名称和格式;JDBC 属性与 java.net.Proxy 对象不能作为可互换的输入。