Spark 3.4.1 版本发布

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

显著变化

  • [SPARK-44383]: 修复了 trim 逻辑无法正确处理 ASCII 控制字符的问题
  • [SPARK-37829]: Dataframe.joinWith 外连接应为不匹配的行返回 null 值
  • [SPARK-42078]: 将 CapturedException 添加到 utils
  • [SPARK-42290]: 修复了启用 AQE 时无法报告 OOM 错误的问题
  • [SPARK-42421]: 使用 utils 获取本地检查点中使用的动态分配开关
  • [SPARK-42475]: 修复 PySpark connect Quickstart binder 链接
  • [SPARK-42826]: 更新 Spark 上 pandas API 的迁移说明
  • [SPARK-43043]: 提高 MapOutputTracker.updateMapOutput 的性能
  • [SPARK-43050]: 通过替换分组函数来修复构造聚合表达式
  • [SPARK-43067]: 更正 Kafka 连接器中错误类资源文件的位置
  • [SPARK-43069]: 使用 sbt-eclipse 代替 sbteclipse-plugin
  • [SPARK-43071]: 支持 SELECT DEFAULT,并为 INSERT 源关系提供 ORDER BY、LIMIT、OFFSET
  • [SPARK-43072]: 在 ANSI 兼容性文档中包含 TIMESTAMP_NTZ 类型
  • [SPARK-43075]: 将 gRPC 更改为 grpcio,如果未安装的话。
  • [SPARK-43083]: 将 *StateStoreSuite 标记为 ExtendedSQLTest
  • [SPARK-43085]: 支持多部分表名的列 DEFAULT 赋值
  • [SPARK-43098]: 修复标量子查询具有 group by 子句时 COUNT 正确性错误
  • [SPARK-43113]: 在为绑定条件生成代码时评估流端变量
  • [SPARK-43125]: 修复 Connect Server 无法处理带有 Null 消息的异常
  • [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 显示 executor PVC 动态分配失败的定向错误消息
  • [SPARK-43374]: 将 protobuf-java 移动到 BSD 3-clause group 并更新许可证副本
  • [SPARK-43378]: 在 deserializeFromChunkedBuffer 中正确关闭流对象
  • [SPARK-43395]: 在 make-distribution.sh 中排除 macOS tar 扩展元数据
  • [SPARK-43398]: Executor 超时应为空闲 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]: 更新“Supported Pandas API”页面以指向正确的 pandas 文档
  • [SPARK-43587]: 在专用 JVM 中运行 HealthTrackerIntegrationSuite
  • [SPARK-43589]: 修复 cannotBroadcastTableOverMaxTableBytesError 以使用 bytesToString
  • [SPARK-43718]: 为 USING 连接正确设置键的可空性
  • [SPARK-43719]: 处理 missing row.excludedInStages 字段
  • [SPARK-43751]: 文档 unbase64 行为变更
  • [SPARK-43758]: 更新 Hadoop 2 依赖项清单
  • [SPARK-43759]: 在 pyspark.sql.types 中公开 TimestampNTZType
  • [SPARK-43760]: 标量子查询结果的可空性
  • [SPARK-43802]: 修复 failOnError=true 时 unhex 和 unbase64 的 codegen
  • [SPARK-43894]: 修复 df.cache() 中的 bug
  • [SPARK-43956]: 修复 Percentile[Cont 无法显示列的 sql 的错误 Disc]
  • [SPARK-43973]: 结构化流 UI 应正确显示失败的查询
  • [SPARK-43976]: 处理 event logs 中不存在 modifiedConfigs 的情况
  • [SPARK-44018]: 改进一些 DS V2 表达式的 hashCode 和 toString
  • [SPARK-44038]: 使用 v1.3 更新 YuniKorn 文档
  • [SPARK-44040]: 修复 QueryStageExec 上面的 AggregateExec 节点计算统计信息

依赖项更改

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

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

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


Spark 新闻存档

最新新闻

存档