版本说明书

版本配套说明

产品版本信息

产品名称

Kunpeng BoostKit

产品版本

26.0.RC1

软件名称和版本

OmniOperator 2.1.0

软件版本配套说明

项目 版本
操作系统 CentOS 7.9openEuler 20.03 LTS SP1openEuler 22.03 LTS SP1
JDK 毕昇JDK 1.8(建议使用毕昇JDK 1.8.0_342)openEuler 22.03 LTS SP1与毕昇JDK 1.8.0_262不兼容,需更换为毕昇JDK 1.8.0_342。
Hadoop 3.2.0
Spark 3.1.1、3.3.1、3.4.3、3.5.2
Hive 3.1.0
Python 3.10.2及以上
文件系统 HDFS
数据格式 ORC、PARQUET

硬件版本配套说明

处理器

鲲鹏920系列处理器

内存大小

32GB以上

病毒扫描结果

本软件包、版本文档、产品文档经过防病毒软件扫描,未发现病毒。详细信息如下:

Engine Name

QiAnXin

Engine Version

8.0.5.5260

Virus Lib Version

2026-03-10 08:00:00.0

Scan Time

2026-03-11 22:44:53

Scan Result

OK

Engine Name

Bitdefender

Engine Version

7.5.1.200224

Virus Lib Version

7.99958

Scan Time

2026-03-11 22:45:17

Scan Result

OK

Engine Name

Kaspersky

Engine Version

12.0.0.6672

Virus Lib Version

2026-03-11 10:04:00

Scan Time

2026-03-11 22:44:59

Scan Result

OK

V2.1.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • 新增InsertIntoHadoopFsRelationCommand支持插入HDFS、WriteFile支持ORC写入、Window支持Array数据分段、FileSourceScanExec支持Array数据读取、LocalLimitExec支持Array数据截取。
  • 新增支持datediff、pmod、charTypeWriteSideCheck、least、concat_ws、get_json_object表达式。

修改特性

删除特性

已解决的问题

遗留问题

V2.0.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • 新增适配Spark的Gluten 1.3版本适配层。
  • SparkExtension新增支持concat_ws、regexp、regexp_replace、trim和floor表达式。

修改特性

删除特性

已解决的问题

遗留问题

V1.9.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • Spark 3.3.1新增对Parquet格式列式写入的支持。
  • 新增支持操作系统CentOS 7.9。

修改特性

删除特性

已解决的问题

遗留问题

V1.8.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • 支持Spark 3.4.3和Spark 3.5.2版本。
  • Spark 3.4.3和Spark 3.5.2支持LIMIT...OFFSET...语法。
  • 新增表达式:try_addtry_dividetry_multiplytry_subtracttry_avgtry_sum
  • Spark 3.5.2的开源版本中,ShuffledHashJoin新增了JoinType与BuildSide的同向处理逻辑。
  • Spark 3.5.2新增WindowGroupLimit算子,优化了Top-K计算中ROW_NUMBER和RANK函数的性能。

修改特性

删除特性

该版本不适配CentOS 7.9。

已解决的问题

遗留问题

V1.7.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • 新增Partial Agg逻辑优化,提升查询效率。
  • Sort算子、HashAgg算子、HashJoin算子向量化指令优化增强。
  • Spark算子加速新增Agg+Sort+Limit场景下执行计划优化、Scan执行计划优化,减少性能开销,提升查询效率。
  • Spark算子加速新增ColumnarDataWritingCommandExec列式算子。
  • Spark算子加速新增按Stage级别算子回退,部分场景能减少行列转换带来的性能损耗。
  • Spark算子加速新增支持TIMESTAMP数据类型。
  • Spark算子加速新增支持unix_timestampfrom_unixtime表达式。
  • Hive算子加速新增支持SIMPLE_EDGE的Shuffle,新增支持Filter和Select算子的融合。
  • Hive算子加速新增支持POWER表达式。

修改特性

删除特性

已解决的问题

遗留问题

V1.6.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • 优化bloomFilter、subquery broadcast前置条件,提高子查询的复用率。
  • 新增支持greatest/contains表达式,支持含标量子查询表达式的filter算子不回退。
  • 优化算子TableScan、HashJoin、Shuffle、RollUp。
  • 优化算子加速部署形态,在Yarn资源管理模型下,Spark的Executor进程依赖的算子加速的二进制软件包能自动部署。

修改特性

删除特性

已解决的问题

问题单号

DTS2024060329127

严重级别

一般

问题描述

在Spark执行INSERT语句且只有1个数据分区的场景下,当出现50个表连续SMJ(Sort Merge Join)操作时,可能会导致SMJ算子在堆外内存耗尽时调用new来申请vector内存,从而引发core dump问题。

遗留问题

V1.5.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • OmniOperator算子加速内存优化,支持大宽表查询,包含Aggregate state内存使用优化、HashAggregator序列化内存使用优化、统一Aggregator和Operator的内存分配、HashAggregator Spill功能排序优化等。
  • 新增支持not表达式及Spark insert场景下的AnsiCast表达式。
  • 新增对Hive引擎的支持,Hive Extension执行TPC-DS 99条SQL无异常,在向量化开启时,ORC格式的性能比Hive开源版本提升20%。
  • Hive Extension新增了对Filter、Select、GroupBy、MapJoin、MergeJoin、PTF、Sort和TableScan等算子的支持。
  • Hive Extension新增了对ORC文件的安全集群支持。

修改特性

删除特性

已解决的问题

遗留问题

问题单号

DTS2024060329127

严重级别

一般

问题描述

在Spark执行INSERT语句且只有1个数据分区的场景下,当出现50个表连续SMJ(Sort Merge Join)操作时,可能会导致SMJ算子在堆外内存耗尽时调用new来申请vector内存,从而引发core dump问题。

根因分析

  1. 由于OmniOperator算子加速当前是列式处理,相比于Spark开源版本的行式处理,内存占用会更大,而且SMJ算子计算过程中申请的资源需要在Task结束后才能释放。
  2. 出现问题的场景是INSERT语句且只有1个数据分区,Spark只会生成1个task去执行任务。因此,会导致50个表的Sort Merge Join都在1个task内执行。此时用例配置的38g堆外内存在连续50个SMJ算子计算过程中已经耗尽,此时再通过new申请内存时,出现core dump。

影响评估

该用例属于高负载的场景,Spark作业本身是为了利用大规模集群的并发优势,正常情况下不会存在单个task(单线程)执行大量表join的业务场景。当前暂未在真实业务场景下遇到该问题,对客户影响很小。

规避和应急措施

  1. 调整spark.memory.offHeap.size参数,增大堆外内存后,重新运行业务流程。
  2. 回退到Spark开源版本流程触发业务。

解决计划

  1. 已在特性指南上增加故障案例说明,当用户出现该问题时能够迅速完成定位和规避。
  2. 此问题单遗留,在下一个商用版本Kunpeng BoostKit 24.0.0中解决。

V1.4.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • 完成执行计划优化,新增DeduplicateRightSideOfLeftSemiJoin、RewriteSelfJoinInInPredicate和MergeSubqueryFilters三个Rule。
  • 新增对NullType数据类型的支持。
  • 新增SubqueryBroadcastExec、CoalesceExecTransformer和Limit Omni算子。
  • 完成算子功能优化,包含HashAggregator RollUp优化、TableScan算子Parquet格式数据读取优化、Sort算子支持Radix Sort、ORC/Parquet数据格式支持partition字段为中文或中文特殊字符等。
  • 完成表达式优化,包含新增instr/startswith/endswith函数、支持String类型和int/long类型的相互转换、decimal数据处理优化和String类型表达式优化。
  • 在Kerberos安全集群下,算子加速支持Spark local模式和Yarn模式,且支持Native方式的ORC/Parquet数据读取。
  • Window和HashAggregator算子支持Spill功能。
  • 支持NEON指令优化,包含HashJoin、Sort和Aggregator算子。

修改特性

删除特性

已解决的问题

遗留问题

V1.3.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • 将TPC-DS基准测试中99个查询的性能提升30%,主要优化包括支持AVG/SUM Aggregator向量化计算、Sort Spill按内存使用情况溢出、Shuffle write减少临时文件Spill次数和关闭CBO场景下的Join Reorder优化。
  • Omni算子新增了TopNSort、SortMergeJoin和Sort融合。
  • 实现了对Parquet文件的Table Scan Native化,以及ORC和Parquet支持安全集群。

修改特性

删除特性

已解决的问题

遗留问题

V1.2.0

更新说明

鲲鹏BoostKit大数据OmniRuntime OmniOperator算子加速特性通过使用一个基础架构支撑不同引擎(例如Spark),减少重复优化工作,从而释放通用、异构算力,有效推动鲲鹏生态。

新增特性

  • 实现了对TPC-DS基准测试中99个查询的支持,主要新增了以下关键功能:

    • 在ShuffledHashJoin中新增对LeftSemi Join类型的支持。
    • 在SortMergeJoin中新增对LeftAnti Join和LeftSemi Join类型的支持。
    • 在HashAggregation中新增对非分组列的聚合处理的支持。
  • 实现了对config配置项、decimal数据类型、aggregation算子、codegen表达式以及vector的重构优化。

修改特性

删除特性

已解决的问题

遗留问题

版本配套文档

版本配套文档

文档名称 内容简介 交付形式
2.1.0 版本说明书 提供OmniOperator的版本发布信息。 开源仓
安装指南 提供OmniOperator的安装部署指导。 开源仓
使用指南 提供OmniOperator的使用操作指导。 开源仓
常见问题 记录安装、部署和使用OmniOperator过程中可能遇到的问题及其解决方法。 开源仓

获取文档的方法

您可以通过访问开源仓浏览和获取相关文档。