Spark 3.4.3 版本发布

Spark 3.4.3 是一个维护版本,包含安全性和正确性修复。 此版本基于 Spark 的 branch-3.4 维护分支。 我们强烈建议所有 3.4 用户升级到此稳定版本。

值得注意的更改

  • [SPARK-45580]: 处理嵌套子查询变为存在连接的情况
  • [SPARK-46029]: 转义 DS V2 下推的单引号、_ 和 %
  • [SPARK-46092]: 不要下推溢出的 Parquet 行组过滤器
  • [SPARK-46182]: 使用精确的任务完成事件跟踪 lastTaskFinishTime
  • [SPARK-46189]: 在各种 Pandas 聚合函数中执行相同类型之间的比较和算术运算,以避免解释模式错误
  • [SPARK-46239]: 隐藏 Jetty 信息
  • [SPARK-46275]: Protobuf: 反序列化失败时,在 permissive 模式下返回 null
  • [SPARK-46286]: 文档 spark.io.compression.zstd.bufferPool.enabled
  • [SPARK-46330]: 启用 HybridStore 时,Spark UI 块加载时间过长
  • [SPARK-46339]: 不应将具有批处理编号名称的目录视为元数据日志
  • [SPARK-46369]: 从 MasterPage 中删除 RELAUNCHING 驱动程序的 kill 链接
  • [SPARK-46400]: 当本地 maven 存储库中存在损坏的文件时,跳过此缓存并重试
  • [SPARK-46417]: 调用 hive.getTable 且 throwException 为 false 时,不要失败
  • [SPARK-46466]: 矢量化 parquet 读取器永远不应对时间戳 ntz 进行 rebase
  • [SPARK-46598]: OrcColumnarBatchReader 在为缺失列创建列向量时应考虑内存模式
  • [SPARK-46628]: 在 license 名称中使用 SPDX 短标识符
  • [SPARK-46700]: 统计 shuffle 磁盘溢出字节指标的最后一次溢出
  • [SPARK-46704]: 修复 MasterPage 以按 Duration 列正确排序 Running Drivers
  • [SPARK-46747]: 避免在 JDBC 方言的 getTableExistsQuery 中进行扫描
  • [SPARK-46763]: 修复 ReplaceDeduplicateWithAggregate 中重复属性的断言失败
  • [SPARK-46779]: 同一缓存计划的 InMemoryRelation 实例在语义上应等效
  • [SPARK-46786]: 修复 MountVolumesFeatureStep 以使用 ReadWriteOncePod 而不是 ReadWriteOnce
  • [SPARK-46794]: 从 LogicalRDD 约束中删除子查询
  • [SPARK-46801]: 不要将退出代码 5 视为 Python 测试脚本中的测试失败
  • [SPARK-46817]: 通过添加 decommission 命令来修复 spark-daemon.sh 的用法
  • [SPARK-46861]: 避免 DAGScheduler 中的死锁
  • [SPARK-46862]: 在多行模式下禁用 CSV 列修剪
  • [SPARK-46888]: 修复 Master 以在禁用 decommissioning 时拒绝 /workers/kill/ 请求
  • [SPARK-46893]: 从 UI 描述中删除内联脚本
  • [SPARK-46945]: 为旧 K8s 集群添加 spark.kubernetes.legacy.useReadWriteOnceAccessMode
  • [SPARK-47063]: CAST long 到 timestamp 对于 codegen 和解释行为不同
  • [SPARK-47072]: 修复错误消息中支持的间隔格式
  • [SPARK-47085]: 降低 toTRowSet 的复杂度,从 n^2 降到 n
  • [SPARK-47125]: 如果 Univocity 从未触发解析,则返回 null
  • [SPARK-47146]: 进行排序合并连接时可能存在线程泄漏
  • [SPARK-47177]: 缓存的 SQL 计划不在 explain 字符串中显示最终的 AQE 计划
  • [SPARK-47187]: 修复 hive compress output config 不起作用的问题
  • [SPARK-47236]: 修复 deleteRecursivelyUsingJavaIO 以跳过不存在的文件输入
  • [SPARK-47305]: 修复 PruneFilters 以在计划同时包含批处理和流处理时正确标记 LocalRelation 的 isStreaming 标志
  • [SPARK-47318]: 将 HKDF 轮次添加到 AuthEngine 密钥派生中,以遵循标准 KEX 实践
  • [SPARK-47368]: 删除 ParquetRowConverter 中的 inferTimestampNTZ 配置检查
  • [SPARK-47370]: 为 Parquet 文件上的 TimestampNTZ 类型推断添加迁移文档
  • [SPARK-47385]: 修复带有 Option 输入的元组编码器
  • [SPARK-47434]: 修复 StreamingQueryPage 中的 statistics 链接
  • [SPARK-47494]: 为 Spark 3.3 以来 Parquet 时间戳推断的行为更改添加迁移文档
  • [SPARK-47503]: 使 makeDotNode 始终转义图节点名称
  • [SPARK-47521]: 在从外部存储读取 shuffle 数据期间使用 Utils.tryWithResource
  • [SPARK-47537]: 修复 MySQL Connector/J 上的错误数据类型映射
  • [SPARK-47646]: 使 try_to_number 为格式错误的输入返回 NULL
  • [SPARK-47666]: 修复将 mysql 位数组读取为 LongType 时的 NPE
  • [SPARK-47824]: 修复 pyspark.pandas.series.asof 中的非确定性

依赖项更改

虽然是维护版本,但我们仍然在此版本中升级了一些依赖项,它们是

您可以查阅 JIRA 以获取详细更改

我们要感谢所有社区成员为此版本贡献补丁。


Spark 新闻存档