Spark 3.3.1 版本发布

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

值得注意的更改

  • [SPARK-35542]: 修复: Bucketizer 为具有参数 splitsArray、inputCols 和 outputCols 的多个列创建后,无法在保存后加载
  • [SPARK-36057]: SPIP:支持自定义 Kubernetes 调度器
  • [SPARK-38034]: 优化 TransposeWindow 规则
  • [SPARK-38404]: 改进嵌套 CTE 引用外部 CTE 时的 CTE 解析
  • [SPARK-38614]: 不要通过使用 percent_rank 的窗口下推 limit
  • [SPARK-38717]: 处理 Hive 的 bucket spec 大小写保留行为
  • [SPARK-38796]: 更新 to_number 和 try_to_number 函数以允许使用正数的 PR
  • [SPARK-39184]: 处理日期和时间戳序列中尺寸不足的结果数组
  • [SPARK-39200]: 使 Fallback Storage 在内容上完全读取
  • [SPARK-39340]: DS v2 agg 下推应允许顶级列名称中包含点
  • [SPARK-39355]: 单列使用引号构造 UnresolvedAttribute
  • [SPARK-39419]: 修复 ArraySort,使其在比较器返回 null 时抛出异常
  • [SPARK-39447]: 避免 AdaptiveSparkPlanExec.doExecuteBroadcast 中的 AssertionError
  • [SPARK-39476]: 禁用从 Long 到 Float/Double 或从 Integer 到 Float 转换时的 Unwrap cast 优化
  • [SPARK-39548]: 带有 window 子句查询的 CreateView 命令遇到了找不到错误 window 定义的问题
  • [SPARK-39570]: 内联表应允许带别名的表达式
  • [SPARK-39614]: K8s pod 名称遵循 DNS 子域名称规则
  • [SPARK-39633]: 支持使用 Dataframe 选项进行 TimeTravel 的秒级时间戳
  • [SPARK-39647]: 在注册 BlockManager 之前向 ESS 注册执行程序
  • [SPARK-39650]: 修复具有向后兼容性的流式去重中的错误值模式
  • [SPARK-39656]: 修复 DescribeNamespaceExec 中的错误命名空间
  • [SPARK-39657]: YARN AM 客户端应调用非静态 setTokensConf 方法
  • [SPARK-39672]: 修复删除带有相关子查询的过滤器之前的项目
  • [SPARK-39758]: 修复无效模式下 regexp 函数中的 NPE
  • [SPARK-39775]: 解析 Avro 模式时禁用验证默认值
  • [SPARK-39806]: 访问分区表上的 _metadata 可能会导致查询崩溃
  • [SPARK-39833]: 禁用 DSv1 中的 Parquet 列索引,以修复重叠分区和数据列情况下的正确性问题
  • [SPARK-39835]: 修复 EliminateSorts 删除本地排序下的全局排序
  • [SPARK-39839]: 在 UnsafeRow 结构完整性检查中,处理具有非零 offsetAndSize 的空可变长度 Decimal 的特殊情况
  • [SPARK-39847]: 修复 RocksDBLoader.loadLibrary() 中调用者线程中断时的竞争条件
  • [SPARK-39857]: V2ExpressionBuilder 为 In 谓词使用错误的 LiteralValue 数据类型
  • [SPARK-39867]: 全局限制不应继承 OrderPreservingUnaryNode
  • [SPARK-39887]: RemoveRedundantAliases 应保留使投影节点输出唯一的别名
  • [SPARK-39896]: 当 In/InSet 的文字值向下转换失败时,UnwrapCastInBinaryComparison 应该工作
  • [SPARK-39900]: 解决二进制格式谓词下推中的部分或否定条件
  • [SPARK-39911]: 优化全局 Sort 到 RepartitionByExpression
  • [SPARK-39915]: Dataset.repartition(N) 可能不会创建 N 个分区 Non-AQE 部分
  • [SPARK-39915]: 确保输出分区在 AQE 中是用户指定的
  • [SPARK-39932]: WindowExec 应清除最终分区缓冲区
  • [SPARK-39951]: 更新嵌套字段的 Parquet V2 柱状检查
  • [SPARK-39952]: SaveIntoDataSourceCommand 应该重新缓存结果关系
  • [SPARK-39962]: 当 group 属性为空时应用投影
  • [SPARK-39976]: ArrayIntersect 应该正确处理左表达式中的 null
  • [SPARK-40002]: 不要通过使用 ntile 的窗口下推 limit
  • [SPARK-40065]: 在执行程序上挂载具有非默认配置文件的 ConfigMap
  • [SPARK-40079]: 为空输入情况添加 Imputer inputCols 验证
  • [SPARK-40089]: 修复某些 Decimal 类型的排序
  • [SPARK-40117]: 在 DataFrameWriterV2.overwrite 中将 condition 转换为 java
  • [SPARK-40121]: 初始化用于 Python UDF 的投影
  • [SPARK-40132]: 将 rawPredictionCol 恢复到 MultilayerPerceptronClassifier.setParams
  • [SPARK-40149]: 通过 Project 传播元数据列
  • [SPARK-40152]: 修复 split_part 代码生成编译问题
  • [SPARK-40169]: 不要下推没有引用数据模式的 Parquet 过滤器
  • [SPARK-40212]: SparkSQL castPartValue 不能正确处理 byte、short 或 float
  • [SPARK-40213]: 支持 Latin-1 字符的 ASCII 值转换
  • [SPARK-40218]: GROUPING SETS 应保留分组列
  • [SPARK-40228]: 如果 child 不是 cheap 表达式,则不要简化 multiLike
  • [SPARK-40247]: 修复 BitSet 相等性检查
  • [SPARK-40280]: 添加对带注释的 int 和 long 的 parquet 下推的支持
  • [SPARK-40297]: 无法解析 CTE 主体中嵌套的 CTE 外部引用
  • [SPARK-40362]: 修复 BinaryComparison 规范化
  • [SPARK-40380]: 修复 InvokeLike 的常量折叠以避免嵌入在计划中的非序列化文字
  • [SPARK-40385]: 修复伴生对象构造函数的解释路径
  • [SPARK-40389]: 如果转换可能溢出,则 Decimals 不能向上转换为整数类型
  • [SPARK-40468]: 当选择了 _corrupt_record 时,修复 CSV 中的列修剪
  • [SPARK-40508]: 将未知分区视为 UnknownPartitioning
  • [SPARK-40535]: 修复如果输入行为空则不会创建 AggregatingAccumulator 缓冲区的错误
  • [SPARK-40562]: 添加 spark.sql.legacy.groupingIdWithAppendedUserGroupBy
  • [SPARK-40612]: 修复在非 YARN 资源管理器上用于委托令牌续订的主体
  • [SPARK-40660]: 切换到 XORShiftRandom 来分配元素
  • [SPARK-40703]: 在 SinglePartition 上引入 shuffle 以提高并行性

依赖项更改

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

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

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


Spark 新闻存档

最新消息

存档