2026 年 Snowpark Connect for Spark 版本说明

Snowflake 对 Snowpark Connect for Spark 更新使用语义版本控制。

有关文档,请参阅 使用 Snowpark Connect for Spark 在 Snowflake 上运行 Apache Spark™ 工作负载提交 Spark 应用程序

1.17.0(2026 年 3 月 13 日)

Snowpark Connect for Spark

错误修复

  • JSON 和 CSV 压缩推理。

  • 修复 coalesce 创建单个文件的问题。

  • 重构 JSON 读取逻辑,使用 COPY INTO 进行单文件读取,并添加 VariantType 架构推断。

  • 允许在无显式架构的情况下加载 JSON。

  • 修复 JSON 中的 multi_line

  • 修复 JSON 的架构推断,避免扫描整个文件。

  • 正确处理向时间戳 ltz 的类型转换。

  • 限制返回的哈希值范围。

  • 修复使用 partitionBy 进行 repartition 的问题。

  • 修复以在 config.toml 中使用 [connections.spark-connect] 节标题。

  • 将 Java date/timestamp 格式的令牌转换为 Snowflake 等效格式,用于 CSV 读取。

  • pivot 函数计算架构。

  • 修复在带别名的横向连接中的 UDTFs 问题。

  • 对齐 SQL SET 命令的结果。

  • 修复 CEILFLOOR 函数的返回类型。

  • 改进 unbase64 v2 中的查询生成。

  • 修复 CSV 中部分选项到 Snowflake 的映射问题。

  • 修复 POJO 的序列化。

  • 改进 CSV 标头错误消息。

  • 改进读取 Parquet 时使用 try_cast 进行的 mapType 检测逻辑。

新功能

  • 支持 reduceGroups API。

  • 支持在 init_spark_session 内部指定连接名称。

  • 添加配置参数,以便为 unbase64 使用 UDF。

1.16.0(2026 年 3 月 12 日)

Snowpark Connect for Spark

错误修复

  • 优化函数 unbase64 中的 SQL 生成。

  • 修复 from_json 回归

  • 修复跨越多个 BZ2 压缩块边界的记录问题

  • 修复未解析属性中的可空性映射问题

  • 使用任意连接初始化 spark-connect 会话,而不仅仅是名为 spark-connect 的连接

  • 添加 XML 选项验证

  • 当 CSV ESCAPE 选项与引号字符匹配时将其丢弃,以防止编译错误

  • 修复 productEncoder 中命名元组的错误转换问题

  • 验证 CSV 和 JSON 不支持 mergeSchema

  • 修复 Parquet 复杂类型往返(写入 + 读取)

  • 修复 pivot/unpivot 的架构

  • 修复 MODPMOD 函数的返回类型

  • 修复带有前导空行的文件的 CSV 表头提取问题。

  • 正确测试时区,并将基于字符串的日期/时间序列化替换为基于轮次的序列化

  • 更新 Windows 的 Java 版本检查

  • 展平嵌套的 withColumn 调用

  • 更改加法/减法操作中的 Literal _IntegralType 逻辑

  • 返回 COUNT 函数的 LongType

  • 读取 JSON:test compression = bz2/bzip2/none

  • 提高 to_varchar/to_char 的性能

  • 在 I/O 测试中进行更好的比较

  • 默认将 multi_line 设置为 False,用于复制 JSON

Snowpark Submit

错误修复

  • 在未指定计算池时抛出错误。

1.15.0(2026 年 3 月 6 日)

Snowpark Connect for Spark

错误修复

  • 调用 df.count() 时移除结果扫描

  • 确保在读取 JSON 时,架构推断仅在有限行数上运行

  • 修复间隔类型的 createDataFrame

  • 更改乘法和除法运算中 Literal _IntegralType 的逻辑

  • Set 操作进行类型加宽和强制转换

  • 修复 neo4j 多标签支持

  • 修改 JAR 元数据,使 Grype 无法检测到 Netty 漏洞

  • 返回 ANY_VALUE 函数的正确类型

  • 返回序列的扩展类型

  • 添加对配置 spark.sql.parquet.inferTimestampNTZ.enabled 的支持

  • _validate_schema_and_get_writer 中的列重命名/类型转换

  • 在指定了提取大小的分区查询时,JDBC 发生挂起

  • 当异常消息超过 HTTP 标头限制时,返回经过修剪的消息

  • 修正 BigDecimalmap_type_to_snowflake_type 的映射

  • 修复字面量小数的精度和小数位数

  • 改进随机字符串生成

  • 使 BZ2 压缩的 JSON 加载忽略损坏的记录

新功能

  • 在 Scala UDFs 中使用配置中的暂存文件

  • 在读取 JSON 时使用宽松的 TRY_CAST 模式

  • 使服务器线程数可配置

Snowpark Submit

错误修复

  • init_spark_session() 重新添加到测试中

  • 更新 snowpark-submit 命令行输出,以明确需要 snowflake-connection-name

1.14.0(2026 年 2 月 19 日)

Snowpark Connect for Spark

错误修复

  • 运行时缓存表类型 saveAsTable

  • 优化 coalesce 的子字符串字面量输入和类型转换

  • 处理 avg/mean 中的十进制溢出并修复十进制类型强制转换

  • Iceberg – 覆盖时保留授权

  • 标准化 SQL 直通模式

  • 针对字面量时区优化 from_utc_timestamp/to_utc_timestamp

  • 处理结构化类型中的 JSON null 值以匹配 Spark 语义

  • 从 SQL 创建表时模拟整型

  • 修复 Scala UDFs 中映射嵌套行的边缘情况

  • 修复 Parquet 处理复杂结构化数据类型读写的问题

  • 支持在保存 Parquet 文件时使用 ignore 参数

  • 添加对工件存储库的支持

  • 修复 Scala UDxF 中的数组可空性

  • 修复适用于 (-1, 0) 范围内的实参的 log1p

  • 修复聚合上下文中的 first_valuelast_value

  • 修复 Scala 客户端的 DayTimeIntervalType 读取问题

新功能

  • 在 Scala UDFs 中正确处理时区

  • 无需任何配置即可支持 Java 11 和 17

Snowpark Submit 更新

新功能

  • 支持适用于 Python 3.9 的 snowpark-submit

  • 增强 init_spark_session 以使其可用于 snowpark-submit 工作流

1.13.0(2026 年 2 月 13 日)

Snowpark Connect for Spark

错误修复

  • 已修复 split 函数问题

  • 将 snowflake-snowpark-python 依赖项降级到版本 1.44

  • 已修复 Neo4j 方言匹配以改进 SQL 翻译

  • 修复了执行响应中返回的操作 ID 以保持一致

  • 修复了 TCP 通道连接的 gRPC 元数据处理

新功能

  • 添加了对 mapPartitions 操作中 partition_hint 的支持

  • 为具有用户定义架构的场景添加了 XML 读取器支持

1.11.0(2026 年 1 月 28 日)

Snowpark Connect for Spark

错误修复

  • 在执行各种 DataFrame 运算符后保留隐藏列

  • 修复 scala udf 输入类型的问题(bytebinaryscala.math.BigDecimal

其他更新

  • snowpark-submit 用户定义的实参添加到注释

1.10.0(2026 年 1 月 22 日)

Snowpark Connect for Spark

错误修复

  • 修复会话配置的配置取消设置错误。

  • 使用 copy into 并行加载 CSV 文件。

  • 使用外部联接修复 DataFrames 写入。

  • 在 Scala UDFs 中处理 null 值。

  • 优化 CTE 查询生成并进行参数保护。

  • 避免对 DATEDIFF 的实参进行类型转换。

  • 修复了追加分区文件和读取 null 分区的问题。

  • 使用 SQL 将 10 进制和 16 进制之间的转换性能提高了 10 倍。

新功能

  • 仅覆盖 Parquet 文件的已修改分区。

其他更新

  • 更新了逻辑以检测 Snowpark Connect for Spark 是否在 XP 上运行。

  • 支持在 Snowflake 中写入具有变体数据类型的表。

  • 移除不必要的信息日志。

  • 将 Java 测试从 Scala 测试作业中移至单独的作业。

  • 更新 gcsfs 的依赖项版本。

Snowpark Submit

无。

1.9.0(2026 年 1 月 14 日)

Snowpark Connect for Spark

错误修复

  • 修复 Scala 元组序列化问题。

  • 修复加载大型 JSON 文件时的问题。

  • 针对客户问题实施小修复。

  • 针对结构体比较实施修复。

  • 添加对 0 列 DataFrames 的处理。

  • 正确的文件上传路径。

  • 修复 Upload_files_if_needed 无法并行运行的问题。

  • 改进未在 proto 中定义 UDF 输入类型时的输入类型推理。

  • 修复 NA 边缘情况。

新功能

  • 支持读取单个 JSON BZ2 文件。

  • 在服务器端 Snowpark Connect for Spark 支持 Scala UDFs。

  • 实现字符串和 daytime 之间的类型转换。

  • group_map 中添加对 Scala UDFs 的支持。

Snowpark Submit

错误修复

  • 减少生成的工作负载名称。

1.8.0(2026 年 1 月 7 日)

Snowpark Connect for Spark

错误修复

  • 针对 Windows 修复了 JAVA_HOME 处理问题。

新功能

  • 通过 JDBC 支持 neo4j 数据源。

Snowpark Submit

无。