OmniRuntime简介
大数据OmniRuntime通过插件化的形式,端到端提升数据加载、数据计算和数据交换的性能,从而提升大数据分析性能。
随着互联网的发展,数据规模出现了爆炸式的增长,需要处理的数据量越来越大,CPU算力的增长远远滞后于数据的增长。大数据开源生态也越来越丰富,但多样化的计算引擎和开源组件也同时带来了全生命周期数据处理性能提升难的问题。不同的大数据引擎采用各自独特的优化策略和技术来提高性能和效率,但有些优化项会在多个引擎中重复应用,可能存在差异或冲突,导致计算性能下降。此外,重复应用相同的优化项可能导致资源竞争和冲突,降低整体计算性能。
大数据
OmniRuntime系列特性包括:
- OmniOperator算子加速通过列式存储和向量化执行技术,同时利用鲲鹏向量化指令、用高性能Native算子替换开源版本Java算子,提升算子的执行效率。
- OmniShuffle Shuffle加速作为Spark的性能加速组件,通过Spark提供的插件机制,实现Shuffle Manager和Broadcast Manager插件接口,无侵入式替换Spark的开源版本Shuffle和Broadcast。
- OmniAdvisor参数调优特性首先对历史的Spark、Hive SQL任务进行参数解析,然后利用AI算法智能化地对任务进行参数采样调优,最终对该任务实现端到端在线参数调优。
- OmniMV物化视图是通过AI算法从历史SQL查询中推荐出最优物化视图,并在Spark中自动对用户SQL进行物化视图匹配,将匹配成功的物化视图替换用户执行计划的部分SQL,大幅减少重复计算,提升查询性能。该特性支持用户将SQL任务提交给Spark集群,集群管理节点进行任务分配,分发多个子任务到对应的多个计算节点执行。
- OmniScheduler Yarn负载调度算法优化了Hadoop Yarn的容量调度算法,通过获取集群的负载信息,并基于节点物理资源权重计算及排序结果,优先调度低负载节点,提升了集群的负载均衡性,实现资源的均衡配置和高效利用。
- OmniShield机密大数据特性是一个大数据引擎Spark的机密计算组件,运行在客户数据中心的TEE环境内,通过在基于硬件的TEE环境中执行计算过程对数据进行加解密,保证数据在REE侧也是安全隐私的。在机密计算场景下OmniRuntime提供了OmniShield机密大数据特性,提供了DataFrame、SparkSQL应用的数据源加解密能力,并可以结合Arm的机密计算TEE套件能力为Spark应用提供端到端安全防护。
- OmniHBaseGSI全局二级索引特性是使用独立的索引表存储索引数据,加速SingleColumnValueFilter条件查询。当给定的查询条件可以命中索引时,将对数据表的全表查询转换为对索引表的精确范围查询,提升查询速度。
- OmniData算子下推是将大数据引擎的算子下推到存储节点的服务,从而实现近数据计算,减少网络带宽占用,提升查询引擎的查询性能。该特性支持Spark组件下推Filter、Aggregation、Limit算子到存储节点CPU,支持对ORC/Parquet等主流数据类型的访问,实现近数据计算,减少无效数据在网络上的传输,提升大数据计算性能。
- OmniStateStore基于Flink提供的状态优化后端插件机制,提供状态优化的加速,从而提升Flink的整体性能。
OmniStream Flink Native化特性是一种采用Native Code(C/C++)实现Flink SQL算子来提高查询性能的特性,通过对Flink引擎进行Native化改造,以实现性能的显著提升。
OmniRuntime子特性已适配的开源组件和版本如表1所示。
子特性名称 |
已适配的开源组件和版本 |
---|---|
OmniData算子下推 |
Spark 3.0.0、Spark 3.1.1、Hive 3.1.0、openLooKeng 1.4.1、openLooKeng 1.6.1 |
OmniOperator算子加速 |
Spark 3.1.1、Spark 3.3.1、Spark 3.4.3、Spark 3.5.2、Hive 3.1.0、openLooKeng 1.6.1 |
OmniShuffle Shuffle加速 |
Spark 3.1.1、Spark 3.3.1、Hive 3.1.0 |
OmniStateStore状态优化 |
Flink 1.17.1、Flink 1.16.3 |
OmniMV物化视图 |
Spark 3.1.1、Spark 3.4.3、Hive 3.1.0、ClickHouse 22.3.6.5 |
OmniAdvisor参数调优 |
Spark 3.1.1、Spark 3.3.1、Hive 3.1.0、Tez 0.10.0 |
OmniHBaseGSI全局二级索引 |
HBase 2.4.14 |
OmniShield机密大数据 |
Spark 3.3.1、Hive 3.1.0 |
OmniScheduler Yarn负载调度算法 |
Spark 3.1.1、Spark 3.3.1、Hive 3.1.0、Hadoop 3.3.4 |
OmniStream Flink Native化 |
Flink 1.16.3 |