Spark 2.4.8 发布

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

值得注意的更改

  • [SPARK-21492]: 修复 SortMergeJoin 中的内存泄漏
  • [SPARK-25271]: 创建具有所有列为空值的 parquet 表会引发异常
  • [SPARK-26625]: spark.redaction.regex 应该包含 oauthToken
  • [SPARK-26645]: CSV 推断模式 bug 推断为 decimal(9,-1)
  • [SPARK-27575]: Spark 覆盖 spark.yarn.dist.* 的现有值,而不是合并值
  • [SPARK-27872]: Driver 和 executors 使用不同的服务帐户导致 pull secrets 中断
  • [SPARK-29574]: 用户提供的 hadoop 的 spark 在 kubernetes 上不起作用
  • [SPARK-30201]: HiveOutputWriter standardOI 应该使用 ObjectInspectorCopyOption.DEFAULT
  • [SPARK-32635]: 当 pyspark.sql.functions.lit() 函数与 dataframe 缓存一起使用时,它返回错误的结果
  • [SPARK-32708]: 查询优化无法重用 DataSourceV2 的交换
  • [SPARK-32715]: 广播块片段可能发生内存泄漏
  • [SPARK-32738]: 线程安全端点可能因致命错误而挂起
  • [SPARK-32794]: 微批处理引擎中的罕见情况错误,包含某些有状态查询 + 无数据批处理 + V1 流式传输源
  • [SPARK-32815]: 修复 LibSVM 数据源在具有 glob 元字符的文件路径上加载时出错
  • [SPARK-32836]: 修复 DataStreamReaderWriterSuite 以正确检查 writer 选项
  • [SPARK-32872]: BytesToBytesMap 在 MAX_CAPACITY 处超过增长阈值
  • [SPARK-32900]: 当输入中存在 NULL 并且使用基数排序时,UnsafeExternalSorter.SpillableIterator 无法溢出。
  • [SPARK-32901]: UnsafeExternalSorter 可能会导致在溢出时抛出 SparkOutOfMemoryError
  • [SPARK-32908]: percentile_approx() 返回不正确的结果
  • [SPARK-32999]: TreeNode.nodeName 不应抛出格式错误的类名错误
  • [SPARK-33094]: ORC 格式不会将 Hadoop 配置从 DS 选项传播到基础 HDFS 文件系统
  • [SPARK-33101]: LibSVM 格式不会将 Hadoop 配置从 DS 选项传播到基础 HDFS 文件系统
  • [SPARK-33131]: 修复具有 having 子句的分组集无法解析限定列名
  • [SPARK-33136]: 在 V2 写入命令的解析期间,复杂类型的可空性处理已损坏
  • [SPARK-33183]: 优化器规则 EliminateSorts 中的 Bug
  • [SPARK-33230]: 如果在同一秒内启动,FileOutputWriter 作业具有重复的 JobID
  • [SPARK-33268]: 修复从/向 PythonUserDefinedType 转换数据的错误
  • [SPARK-33277]: 紧跟在堆外向量化读取器之后的 Python/Pandas UDF 可能会导致执行程序崩溃。
  • [SPARK-33292]: 使 Literal ArrayBasedMapData 字符串表示形式消除歧义
  • [SPARK-33338]: 使用文本映射的 GROUP BY 不应失败
  • [SPARK-33339]: 由于非异常,Pyspark 应用程序将挂起
  • [SPARK-33372]: 修复 InSet 存储桶修剪
  • [SPARK-33472]: 在 EnsureRequirements 之前应用 RemoveRedundantSorts 时出现 IllegalArgumentException
  • [SPARK-33588]: SHOW TABLE EXTENDED 中的分区规范不遵守 spark.sql.caseSensitive
  • [SPARK-33593]: 向量读取器使用二进制分区值获取不正确的数据
  • [SPARK-33726]: 重复的字段名称导致聚合期间出现错误的答案
  • [SPARK-33733]: PullOutNondeterministic 应该检查并收集确定性字段
  • [SPARK-33756]: BytesToBytesMap 的 iterator hasNext 方法应该是幂等的。
  • [SPARK-34125]: 使 EventLoggingListener.codecMap 线程安全
  • [SPARK-34187]: 在检查偏移验证时,使用轮询期间获得的可用的偏移范围
  • [SPARK-34212]: 对于 parquet 表,在 hive 中更改 decimal 类型的精度和小数位数后,spark 读取不正确的值
  • [SPARK-34229]: Avro 应该使用文件模式读取 decimal 值
  • [SPARK-34260]: 两次创建临时视图时出现 UnresolvedException
  • [SPARK-34273]: 停止 SparkContext 时不要重新注册 BlockManager
  • [SPARK-34318]: Dataset.colRegex 应该适用于包含换行符的列名和限定符
  • [SPARK-34327]: 在构建过程中省略内联密码。
  • [SPARK-34596]: NewInstance.doGenCode 不应抛出格式错误的类名错误
  • [SPARK-34607]: NewInstance.resolved 不应抛出格式错误的类名错误
  • [SPARK-34724]: 通过使用 getClass.getMethod 而不是 getDeclaredMethod 来修复 Interpreted 评估
  • [SPARK-34726]: 修复 collectToPython 超时
  • [SPARK-34776]: 某些结构操作上的 Catalyst 错误(找不到 _gen_alias_)
  • [SPARK-34811]: 像 secret 和 token 一样编辑 fs.s3a.access.key
  • [SPARK-34855]: SparkContext - 避免使用本地 lazy val
  • [SPARK-34876]: 不可为空的聚合可以在相关子查询中返回 NULL
  • [SPARK-34909]: conv() 不会将负输入正确地转换为无符号
  • [SPARK-34939]: 无法反序列化广播的映射状态时,引发提取失败异常
  • [SPARK-34963]: 嵌套列修剪无法从数组中提取不区分大小写的 struct 字段
  • [SPARK-35080]: 具有相等谓词的相关子查询可能会返回错误的结果
  • [SPARK-35278]: Invoke 应该找到具有正确参数数量的方法
  • [SPARK-35288]: StaticInvoke 应该找到没有精确参数类匹配的方法

依赖关系更改

已知问题

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

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


Spark 新闻存档