Spark 3.4.4 版本发布

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

显著变化

  • [SPARK-43242]: 修复 shuffle 损坏诊断中抛出‘Unexpected type of BlockId’的问题
  • [SPARK-45988]: 修复 Python 3.11+ 中处理 list GenericAlias 的类型提示
  • [SPARK-46535]: 修复当 describe extended 一个没有列统计信息的列时出现 NPE 的问题
  • [SPARK-46957]: 停用已迁移的 shuffle 文件应能从执行器中清理
  • [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]: 修复 try_divide 函数在处理小数时的错误
  • [SPARK-48019]: 修复 ColumnVector/ColumnarArray 在处理字典和空值时行为不正确的问题
  • [SPARK-48037]: 修复 SortShuffleWriter 缺少 shuffle 写入相关指标导致数据可能不准确的问题
  • [SPARK-48081]: 修复 NTile.checkInputDataTypes() 中当参数不可折叠或类型错误时出现的 ClassCastException
  • [SPARK-48105]: 修复状态存储卸载和快照之间的竞态条件
  • [SPARK-48128]: 对于 BitwiseCount / bit_count 表达式,修复布尔类型输入的 codegen 语法错误
  • [SPARK-48155]: join 的 AQEPropagateEmptyRelation 应检查剩余子项是否仅为 BroadcastQueryStageExec
  • [SPARK-48172]: 修复 JDBCDialects 中的转义问题
  • [SPARK-48248]: 修复嵌套数组以遵循 inferArrayTypeFromFirstElement 的旧配置
  • [SPARK-48292]: 还原 SPARK-39195 Spark OutputCommitCoordinator 应在提交的文件与任务状态不一致时中止阶段
  • [SPARK-48484]: 修复:V2Write 对不同的任务尝试使用相同的 TaskAttemptId
  • [SPARK-48642]: 因溢写时杀死任务导致错误的 SparkOutOfMemoryError
  • [SPARK-48710]: 限制 NumPy 版本在支持范围内 (>=1.15,<2)
  • [SPARK-48759]: 添加 CREATE TABLE AS SELECT 行为自 Spark 3.4 以来变化的迁移文档
  • [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 修复当 t 是空表时“select count(distinct 1) from t”的问题
  • [SPARK-49005]: 使用 17-jammy 标签而非 17-jre 以避免 Python 3.12
  • [SPARK-49038]: SQLMetric 应在累加器更新事件中报告原始值
  • [SPARK-49039]: 在“Stages”选项卡中加载执行器指标时重置复选框
  • [SPARK-49094]: 修复当 mergeSchema 关闭时,hive orc impl 的 ignoreCorruptFiles 不起作用的问题
  • [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 客户端中的 DataFrame.unpivot/melt
  • [SPARK-49628]: ConstantFolding 在评估前应复制有状态表达式
  • [SPARK-49750]: 提及 K8s 模式下的委托令牌支持
  • [SPARK-49760]: 更正应用程序 master 中 SPARK_USER 环境变量覆盖的处理方式
  • [SPARK-49804]: 修复始终使用执行器容器的退出码的问题
  • [SPARK-49836]: 修复当 window 提供给 window/session_window 函数时可能损坏的查询问题
  • [SPARK-49843]: 修复 char/varchar 列上的注释更改
  • [SPARK-49959]: 修复 ColumnarArray.copy() 从正确偏移量读取空值的问题
  • [SPARK-50021]: 修复当 UI 被禁用时 ApplicationPage 隐藏应用程序 UI 链接的问题
  • [SPARK-50022]: 修复当 UI 被禁用时 MasterPage 隐藏应用程序 UI 链接的问题

依赖项变更

作为维护版本,我们在此版本中仍升级了一些依赖项,它们是:

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

我们衷心感谢所有社区成员为本次发布贡献补丁。


Spark 新闻存档

最新新闻

存档