2022 年 Snowflake Connector for Spark 版本说明¶
本文包含 Snowflake Connector for Spark 的版本说明,包括以下内容(如果适用):
行为变更
新功能
面向客户的错误修复
Snowflake 对 Snowflake Connector for Spark 更新使用语义版本控制。
有关文档,请参阅 Snowflake Connector for Spark。
版本 2.11.1(2022 年 12 月 13 日)¶
新功能¶
添加了针对 AWS VPCE 部署的支持,通过添加 S3_STAGE_VPCE_DNS_NAME 配置参数,以便在会话级别指定 VPCE DNS 名称。
添加了新的配置选项,如果查询返回
Decimal(<any_precision>, 0)
,支持 Spark Connector 返回 Long 值,而不是BigDecimal
值。WARNING:如果值大于Long
的最大值,将会引发错误。添加了新选项 proxy_protocol,用于在 AWS 部署时指定代理协议(http 或 https)。(该选项对 Azure 和 GCP 部署无效。)
添加了以下支持:在行计数大于整数最大值的表中对行进行计数。
更新了连接器以使用 Snowflake JDBC 驱动程序 3.13.24。
错误修复¶
更新了连接器以关闭 JDBC 连接,从而避免连接泄漏。
修复了在发送遥测消息时出现的
NullPointerException
问题。
版本 2.11.0(2022 年 9 月 2 日)¶
兼容的 JDBC 驱动程序版本:3.13.22
添加了对 Spark 3.3 的支持并修复了一些错误:
升级了测试所依赖的 PostgreSQL JDBC 驱动程序的版本,以避免安全漏洞 CVE-2022-31197 (https://github.com/advisories/GHSA-r38f-c4h4-hqq2)。
更新了连接器,以使用 Snowflake JDBC 驱动程序 3.13.22 和 Snowflake Ingest SDK 0.10.8。
备注
从版本 2.11.0 开始,Snowflake Connector for Spark 支持 Spark 3.1、3.2 和 3.3。Snowflake Connector for Spark 的版本 2.11.0 不支持 Spark 3.0。请注意,连接器的之前版本继续支持 Spark 3.0。
对于 Snowflake GCP 账户,Snowflake JDBC 驱动程序版本 3.13.16 到 3.13.21 不适用于 Spark Connector。
版本 2.10.1(2022 年 8 月 15 日)¶
兼容的 JDBC 驱动程序版本:3.13.14
错误修复¶
移除了库的不必要依赖项,以避免安全漏洞 CVE-2020-8908 (https://github.com/advisories/GHSA-5mg8-w23w-74h3) 和 CVE-2018-10237 (https://github.com/advisories/GHSA-mvr2-9pj6-7w5j)。
添加了以下支持:从 Snowflake 读取数据时,使用 JDBC 数据类型
TIMESTAMP_WITH_TIMEZONE
。更改了以下逻辑:在将 DataFrame 保存到 Snowflake 之前,检查表是否存在。
连接器现在重复使用现有连接(而不是创建新连接),以避免令牌过期的潜在问题。
如果表名称不是完全限定(即不包含架构名称),连接器现在会在 sfSchema 指定的架构(而不是当前在会话中使用的架构)下面检查表。
备注
如果您需要将 DataFrame 保存到
sfSchema
之外的某个架构中的表,将该架构指定为表的完全限定名称的一部分,而不是执行 USE SCHEMA 以更改当前架构。
通过以下方式改进了性能:在将包含
ArrayType
、MapType
或StructType
列的 DataFrame 写入 Snowflake 时,避免 COPY INTO TABLE 命令中不必要的parse_json()
调用。向
Utils
类添加了getLastSelectQueryId
和getLastCopyLoadQueryId
方法。这些方法(分别)返回从 Snowflake 读取数据的上一个查询的查询 ID,以及执行的上一个 COPY INTO TABLE 语句。
版本 2.10.0(2022 年 2 月 17 日)¶
兼容的 JDBC 驱动程序版本:3.13.14
行为变更¶
添加了对 Spark 3.2 版的支持。从此版本开始,Snowflake Connector for Spark 仅支持 Spark 3.0、3.1 和 3.2。Spark 2.4 版不再受支持。
错误修复¶
修复了以下问题:字符串“null”被视为类型
NULL
。