Spark 3.4.4 版本发布

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

值得注意的变更

  • [SPARK-43242]: 修复 shuffle 损坏诊断中抛出 ‘Unexpected type of BlockId’ 的问题
  • [SPARK-45988]: 修复 typehints 以处理 Python 3.11+ 中的 list GenericAlias
  • [SPARK-46535]: 修复描述没有列统计信息的列时出现的 NPE
  • [SPARK-46957]: 已停用的迁移 shuffle 文件应该能够从 executor 清理
  • [SPARK-47129]: 使 ResolveRelations 正确缓存连接计划
  • [SPARK-47172]: 添加对 RPC 加密的 AES-GCM 支持
  • [SPARK-47828]: DataFrameWriterV2.overwrite 因无效计划而失败
  • [SPARK-47895]: group by all 应该是幂等的
  • [SPARK-47897]: 修复 scala 2.12 中的 ExpressionSet 性能回归
  • [SPARK-47927]: 修复 UDF 解码器中的可空性属性
  • [SPARK-48016]: 修复使用 decimals 时 try_divide 函数中的错误
  • [SPARK-48019]: 修复带有字典和 null 值的 ColumnVector/ColumnarArray 中的不正确行为
  • [SPARK-48037]: 修复 SortShuffleWriter 缺少 shuffle 写入相关指标导致数据可能不准确的问题
  • [SPARK-48081]: 修复当参数为不可折叠或类型错误时 NTile.checkInputDataTypes() 中的 ClassCastException
  • [SPARK-48105]: 修复状态存储卸载和快照之间的竞争条件
  • [SPARK-48128]: 对于 BitwiseCount / bit_count 表达式,修复布尔类型输入的代码生成语法错误
  • [SPARK-48155]: join 的 AQEPropagateEmptyRelation 应该检查剩余子节点是否只是 BroadcastQueryStageExec
  • [SPARK-48172]: 修复 JDBCDialects 中的转义问题
  • [SPARK-48248]: 修复嵌套数组以遵守 inferArrayTypeFromFirstElement 的旧配置
  • [SPARK-48292]: 恢复 SPARK-39195 Spark OutputCommitCoordinator 应该在提交的文件与任务状态不一致时中止 stage
  • [SPARK-48484]: 修复:V2Write 对不同的任务尝试使用相同的 TaskAttemptId
  • [SPARK-48642]: 由于溢出时杀死任务而导致的错误 SparkOutOfMemoryError
  • [SPARK-48710]: 将 NumPy 版本限制为支持的范围 (>=1.15,<2)
  • [SPARK-48759]: 添加自 Spark 3.4 以来 CREATE TABLE AS SELECT 行为变更的迁移文档
  • [SPARK-48791]: 修复因使用 CopyOnWriteArrayList 导致的累加器注册开销引起的性能回归
  • [SPARK-48930]: 通过包含 accesskey 模式来编辑 awsAccessKeyId
  • [SPARK-48934]: Python datetime 类型在 applyInPandasWithState 中设置超时时转换不正确
  • [SPARK-48965]: 在 Dataset#toJSON 中使用正确的 schema
  • [SPARK-48991]: 将路径初始化移动到 FileStreamSink.hasMetadata 中的 try-catch 块中
  • [SPARK-49000]: 通过扩展 RewriteDistinctAggregates 来修复 "select count(distinct 1) from t",其中 t 是空表
  • [SPARK-49005]: 使用 17-jammy 标签而不是 17-jre 以防止 Python 3.12
  • [SPARK-49038]: SQLMetric 应该在累加器更新事件中报告原始值
  • [SPARK-49039]: 在 Stages 选项卡中加载 executor 指标时重置复选框
  • [SPARK-49094]: 修复 hive orc 实现中 ignoreCorruptFiles 在 mergeSchema 关闭时不起作用的问题
  • [SPARK-49176]: 通过添加 K8s 来修复 spark.ui.custom.executor.log.url 文档
  • [SPARK-49179]: 修复 v2 多桶内部连接抛出 AssertionError
  • [SPARK-49182]: 停止发布 site/docs/{version}/api/python/_sources 目录
  • [SPARK-49193]: 提高 RowSetUtils.toColumnBasedSet 的性能
  • [SPARK-49197]: 在 launcher 模块中编辑 Spark Command 输出
  • [SPARK-49261]: 不要用 group-by 表达式替换聚合表达式中的文字
  • [SPARK-49352]: 避免对相同的表达式进行冗余数组转换
  • [SPARK-49385]: 修复 getReusablePVCs 以使用 podCreationTimeout 而不是 podAllocationDelay
  • [SPARK-49408]: 在 ProjectingInternalRow 中使用 IndexedSeq
  • [SPARK-49595]: 修复 Spark Connect Scala Client 中的 DataFrame.unpivot/melt
  • [SPARK-49628]: ConstantFolding 应该在评估之前复制有状态表达式
  • [SPARK-49750]: 在 K8s 模式中提及 delegation token 支持
  • [SPARK-49760]: 正确处理 app master 中 SPARK_USER 环境变量覆盖
  • [SPARK-49804]: 修复始终使用 executor 容器的退出代码
  • [SPARK-49836]: 修复当为 window/session_window fn 提供 window 时可能损坏的查询
  • [SPARK-49843]: 修复 char/varchar 列上的更改注释
  • [SPARK-49959]: 修复 ColumnarArray.copy() 以从正确的偏移量读取 null 值
  • [SPARK-50021]: 修复 ApplicationPage 在 UI 被禁用时隐藏 App UI 链接
  • [SPARK-50022]: 修复 MasterPage 在 UI 被禁用时隐藏 App UI 链接

依赖项更改

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

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

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


Spark 新闻存档

最新新闻

存档