Spark 3.2.3 版本发布

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

值得注意的变更

  • [SPARK-38697]: 扩展 SparkSessionExtensions 以将规则注入 AQE 优化器
  • [SPARK-39200]: 从回退存储系统获取块时出现 Stream is corrupted 异常
  • [SPARK-8731]: 在后台启动时,Beeline 不适用于 -e 选项
  • [SPARK-32380]: sparksql 无法访问 Hive 表,而数据位于 HBase 中
  • [SPARK-35542]: 为具有参数 splitsArray、inputCols 和 outputCols 的多个列创建的 Bucketizer 在保存后无法加载。
  • [SPARK-39184]: 某些时区的某些日期/时间序列的 ArrayIndexOutOfBoundsException
  • [SPARK-39647]: 由于 java.lang.IllegalArgumentException 导致块推送失败:即使 NodeManager 没有重新启动,任何执行器注册都没有更新 Active local dirs 列表
  • [SPARK-39775]: 由于 AVRO-2035 导致的回归
  • [SPARK-39833]: 当 spark.sql.parquet.filterPushdown 为 true 时,过滤后的 parquet 数据帧 count() 和 show() 产生不一致的结果
  • [SPARK-39835]: 修复 EliminateSorts 删除本地排序下面的全局排序
  • [SPARK-39839]: 在 UnsafeRow 结构完整性检查中处理具有非零 offsetAndSize 的 null 变长 Decimal 的特殊情况
  • [SPARK-39847]: 当任务线程位于 RocksDBLoader.loadLibrary() 中时,与任务线程中断相关的竞争条件
  • [SPARK-39867]: 全局限制不应继承 OrderPreservingUnaryNode
  • [SPARK-39887]: 表达式转换错误
  • [SPARK-39900]: 使用 'not' 运算符查询 'binaryFile' 格式生成的数据帧时出现问题
  • [SPARK-39932]: WindowExec 应该清除最终分区缓冲区
  • [SPARK-39952]: SaveIntoDataSourceCommand 应该重新缓存结果关系
  • [SPARK-39962]: 针对 pandas 聚合 UDF 的全局聚合不考虑列顺序
  • [SPARK-39965]: 当驱动程序不拥有 PVC 时跳过 PVC 清理
  • [SPARK-39972]: 在 branch-3.2 和 branch-3.1 中还原 SPARK-39962 的测试用例
  • [SPARK-40002]: 使用 ntile 函数时,限制通过窗口错误地向下推送
  • [SPARK-40065]: 如果 profile 不是默认值,则不会挂载 Executor ConfigMap
  • [SPARK-40079]: 为空输入情况添加 Imputer inputCols 验证
  • [SPARK-40089]: 对于接近最大值的一些值,至少 Decimal(20, 2) 的排序失败。
  • [SPARK-40117]: 在 DataFrameWriterV2.overwrite 中将条件转换为 java
  • [SPARK-40121]: 初始化用于 Python UDF 的投影
  • [SPARK-40124]: 更新 TPCDS v1.4 q32 以进行计划稳定性测试
  • [SPARK-40149]: 外部联接后的星号扩展不对称地包含联接键
  • [SPARK-40169]: 修复数据源 V1 中 Parquet 列索引和谓词下推的问题
  • [SPARK-40212]: SparkSQL castPartValue 不能正确处理 byte & short
  • [SPARK-40218]: GROUPING SETS 应该保留分组列
  • [SPARK-40270]: 使 DataFrame.style 中的 compute.max_rows 作为 None 工作
  • [SPARK-40280]: 在某些有效文件上无法为 ints 和 longs 创建 parquet 谓词下推
  • [SPARK-40315]: 相等对象上 ArrayBasedMapData 的非确定性 hashCode() 计算
  • [SPARK-40407]: DataFrame 的重新分区可能导致某些特殊情况下的严重数据倾斜
  • [SPARK-40459]: recoverDiskStore 不应因现有重新计算的文件而停止
  • [SPARK-40470]: 当使用 GetMapValue 和 GetArrayStructFields 时,arrays_zip 输出意外的别名列名
  • [SPARK-40493]: 还原“[SPARK-33861][SQL] 简化谓词中的条件”
  • [SPARK-40562]: 添加 spark.sql.legacy.groupingIdWithAppendedUserGroupBy
  • [SPARK-40583]: “与云基础设施集成”中的文档错误
  • [SPARK-40588]: 启用分区写入和 AQE 时的排序问题
  • [SPARK-40612]: 在 Kubernetes 上,对于长时间运行的应用程序,Spark 使用无效的 principal 来更新委派令牌
  • [SPARK-40636]: 修复 BlockManagerDecommissioner 中错误的剩余 shuffle 日志
  • [SPARK-40660]: 切换到 XORShiftRandom 以分配元素
  • [SPARK-40829]: CREATE TABLE LIKE 视图中的 STORED AS serde 不起作用
  • [SPARK-40851]: 使用最新的 Java 8/11/17 时,TimestampFormatter 行为已更改
  • [SPARK-40869]: KubernetesConf.getResourceNamePrefix 创建无效的名称前缀
  • [SPARK-40874]: 修复启用加密时 Python UDF 中的广播
  • [SPARK-40902]: 在 Mesos 调度器中快速提交测试中的驱动程序导致删除驱动程序
  • [SPARK-40963]: ExtractGenerator 在新的 Project 中设置不正确的可空性
  • [SPARK-41035]: 当在不同的聚合中重复使用文字时,会产生不正确的结果或 NPE
  • [SPARK-41091]: 修复 branch-3.2 的 Docker 发布工具
  • [SPARK-41188]: 默认情况下,将 executorEnv OMP_NUM_THREADS 设置为 spark.task.cpus,用于 spark 执行器 JVM 进程
  • [SPARK-38034]: 优化时间复杂度并扩展 TransposeWindow 的适用案例
  • [SPARK-39831]: 在 devtools_2.4.4 发布后,R 依赖项的安装开始失败
  • [SPARK-39879]: 减少 BroadcastJoinSuite* 和 HiveSparkSubmitSuite 中的本地集群内存配置
  • [SPARK-40022]: 当没有 Python3 环境时,YarnClusterSuite 不应 ABORTED
  • [SPARK-40241]: 更正 GenericUDTF 的链接
  • [SPARK-40490]: 在 SPARK-17321 之后,YarnShuffleIntegrationSuite 不再验证 registeredExecFile 重新加载
  • [SPARK-40574]: 将 PURGE 添加到 DROP TABLE 文档
  • [SPARK-40172]: 暂时禁用 ImageFileFormatSuite 中不稳定的测试用例
  • [SPARK-40461]: 为 Python linter 设置 pyzmq 24.0.0 的上限
  • [SPARK-40213]: Latin-1 补充字符的不正确的 ASCII 值
  • [SPARK-40292]: arrays_zip 输出意外的别名列名
  • [SPARK-40043]: 文档 DataStreamWriter.toTable 和 DataStreamReader.table
  • [SPARK-40983]: 删除 Parquet 压缩编解码器中对 zstd 的 Hadoop 要求提及

依赖项更改

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

您可以查阅 JIRA 以了解详细的更改

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


Spark 新闻存档

最新消息

存档