Spark 3.4.1 版本发布

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

显著变化

  • [SPARK-44383]:修复 trim 逻辑未能正确处理 ASCII 控制字符的问题
  • [SPARK-37829]:Dataframe.joinWith 外连接应为不匹配的行返回空值
  • [SPARK-42078]:将 CapturedException 添加到 utils
  • [SPARK-42290]:修复当 AQE 开启时无法报告 OOM 错误的问题
  • [SPARK-42421]:使用 utils 获取用于本地检查点中动态分配的开关
  • [SPARK-42475]:修复 PySpark connect Quickstart 绑定器链接
  • [SPARK-42826]:更新 Spark 上 pandas API 的迁移说明
  • [SPARK-43043]:提高 MapOutputTracker.updateMapOutput 的性能
  • [SPARK-43050]:修复通过替换分组函数来构造聚合表达式的问题
  • [SPARK-43067]:更正 Kafka 连接器中错误类资源文件的位置
  • [SPARK-43069]:使用 sbt-eclipse 而非 sbteclipse-plugin
  • [SPARK-43071]:支持 INSERT 源关系中的 SELECT DEFAULT 与 ORDER BY, LIMIT, OFFSET
  • [SPARK-43072]:在 ANSI Compliance 文档中包含 TIMESTAMP_NTZ 类型
  • [SPARK-43075]:当 gRPC 未安装时,将其改为 grpcio
  • [SPARK-43083]:将 *StateStoreSuite 标记为 ExtendedSQLTest
  • [SPARK-43085]:支持多部分表名的列 DEFAULT 赋值
  • [SPARK-43098]:修复当标量子查询包含 group by 子句时 COUNT 的正确性错误
  • [SPARK-43113]:为绑定条件生成代码时评估流侧变量
  • [SPARK-43125]:修复 Connect 服务器无法处理带空消息的异常
  • [SPARK-43126]:将两个 Hive UDF 表达式标记为有状态
  • [SPARK-43139]:修复 sql-ref-syntax-dml-insert-table.md 中不正确的列名
  • [SPARK-43141]:在 checkstyle 中忽略生成的 Java 文件
  • [SPARK-43156]:修复相关标量子查询中 COUNT(*) is null 错误
  • [SPARK-43157]:克隆 InMemoryRelation 缓存计划以防止克隆计划引用相同的对象
  • [SPARK-43158]:为 Binder 集成设置 pandas 版本的上限
  • [SPARK-43249]:修复 SQL 命令缺少统计信息的问题
  • [SPARK-43281]:修复并发写入器不更新文件指标的问题
  • [SPARK-43284]:切换回 URL 编码字符串
  • [SPARK-43293]__qualified_access_only 在普通列中应被忽略
  • [SPARK-43313]:为 MERGE INSERT 操作添加缺失的列 DEFAULT 值
  • [SPARK-43336]:Timestamp 和 TimestampNTZ 之间的转换需要时区
  • [SPARK-43337]:表格列中未显示用于排序的升序/降序箭头图标
  • [SPARK-43340]:处理 eventlogs 中缺失的 stack-trace 字段
  • [SPARK-43342]:恢复 SPARK-39006:显示执行器 PVC 动态分配失败的定向错误消息
  • [SPARK-43374]:将 protobuf-java 移至 BSD 3-clause 组并更新许可证副本
  • [SPARK-43378]:在 deserializeFromChunkedBuffer 中正确关闭流对象
  • [SPARK-43395]:在 make-distribution.sh 中排除 macOS tar 扩展元数据
  • [SPARK-43398]:执行器超时应为空闲 shuffle 和 RDD 超时的最大值
  • [SPARK-43404]:跳过重用 RocksDB 状态存储相同版本的 sst 文件,以避免 ID 不匹配错误
  • [SPARK-43414]:修复 Kafka RDD 套件中因端口绑定配置问题导致的不稳定性
  • [SPARK-43425]:将 TimestampNTZType 添加到 ColumnarBatchRow
  • [SPARK-43441]:当 DeterministicLevel 不存在时,makeDotNode 不应失败
  • [SPARK-43450]:添加更多 _metadata 过滤器测试用例
  • [SPARK-43471]:处理缺失的 hadoopProperties 和 metricsProperties
  • [SPARK-43483]:为 OFFSET 子句添加 SQL 参考
  • [SPARK-43510]:修复 YarnAllocator 在处理完已完成容器后添加正在运行的执行器时内部状态的问题
  • [SPARK-43517]:为 namedtuple monkey patch 添加迁移指南
  • [SPARK-43522]:修复使用数组索引创建结构列名的问题
  • [SPARK-43527]:修复 PySpark 中的 catalog.listCatalogs 问题
  • [SPARK-43541]:在解析表达式和缺失列时传播所有 Project 标签
  • [SPARK-43547]:更新“支持的 Pandas API”页面以指向正确的 pandas 文档
  • [SPARK-43587]:在专用 JVM 中运行 HealthTrackerIntegrationSuite
  • [SPARK-43589]:修复 cannotBroadcastTableOverMaxTableBytesError 以使用 bytesToString
  • [SPARK-43718]:正确设置 USING 连接中键的可空性
  • [SPARK-43719]:处理缺失的 row.excludedInStages 字段
  • [SPARK-43751]:记录 unbase64 行为变化
  • [SPARK-43758]:更新 Hadoop 2 依赖清单
  • [SPARK-43759]:在 pyspark.sql.types 中公开 TimestampNTZType
  • [SPARK-43760]:标量子查询结果的可空性
  • [SPARK-43802]:修复 unhex 和 unbase64 在 failOnError=true 时的代码生成问题
  • [SPARK-43894]:修复 df.cache() 中的错误
  • [SPARK-43956]:修复了 Percentile[Cont Disc] 未显示列 SQL 的错误
  • [SPARK-43973]:结构化流 UI 应正确显示失败的查询
  • [SPARK-43976]:处理 event logs 中 modifiedConfigs 不存在的情况
  • [SPARK-44018]:改进某些 DS V2 表达式的 hashCode 和 toString
  • [SPARK-44038]:用 v1.3 更新 YuniKorn 文档
  • [SPARK-44040]:修复当 AggregateExec 节点在 QueryStageExec 之上时计算统计信息的问题

依赖项变更

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

您可以在 JIRA 中查阅 详细变更

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


Spark 新闻归档