[发明专利]一种基于Spark SQL的列计算优化方法在审
申请号: | 202111431461.0 | 申请日: | 2021-11-29 |
公开(公告)号: | CN114138811A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 李华蓉;赵智峰;李岩;苏锋;陈芒芒 | 申请(专利权)人: | 西安烽火软件科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/245;G06F9/48;G06F9/50 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 陆志斌 |
地址: | 710065 陕西省西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark sql 计算 优化 方法 | ||
1.一种基于Spark SQL的列计算优化方法,其特征在于,包括如下步骤:
S1、统一内存管理,建立基于Arrow统一数据管理机制,当文件数据从磁盘加载到内存Arrow结构中之后,可以被多种插件访问和计算;
S2、异构计算资源统一调度,在Spark SQL中扩展优化器和插件,实现基于数据特征的异构资源调度机制,具体包括如下步骤:
S2-1、基于表、字段数据特征的调度优化机制:对于数值型计算优先调度到CPU,特征向量数据、长字符串的计算优选选择GPU;
S2-2、结合计算特征的调度优化:对于数据量大,单计算复杂度低的任务优先调度到CPU,对于数据集较小,但计算任务复杂优先调度到GPU资源;
S2-3、实现基于负载优化调度:基于CPU和GPU的当前负载实现调度优化,优先将计算调度到负载较低的硬件上进行计算;
S3、对Spark SQL的逻辑执行计划进行的规则匹配,生成基于统一内存结构Arrow的CPU和GPU混合编排的物理执行计划。
2.根据权利要求1所述的一种基于Spark SQL的列计算优化方法,其特征在于,所述S1中Arrow结构作为RDD内存的载体,可实现在多任务、多插件间的内存数据共享。
3.根据权利要求1所述的一种基于Spark SQL的列计算优化方法,其特征在于,所述S3中Spark SQL的原生逻辑执行计划通过规则匹配,适配到用C++语言重写的物理执行计划,该执行计划支持两种计算设备的实现,可同时实现CPU和GPU类型的物理执行计划。
4.根据权利要求1所述的一种基于Spark SQL的列计算优化方法,其特征在于,所述S3中在物理执行计划节点选择匹配时,引入代价评估手段,所述代价评估手段包括:基于索引数据和统计数据评估方法,形成CPU和GPU混合编排的执行计划逻辑,且其中拉通CPU和GPU执行计划的内存数据格式为Arrow。
5.根据权利要求4所述的一种基于Spark SQL的列计算优化方法,其特征在于,所述S3中在执行计划生成阶段,根据需要计算的数据类型、数据分布、数据量等情况,基于代价评估方法决定使用CPU还是GPU的算子进行计算,将不同计算设备算子的混合编排可较大程度的提供计算性能。
6.根据权利要求4所述的一种基于Spark SQL的列计算优化方法,其特征在于,所述S3中在执行计划的运行阶段,根据物理执行计划的不同类型,将其调度到CPU或GPU计算设备上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安烽火软件科技有限公司,未经西安烽火软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111431461.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种十字转圆管柱加工制作方法
- 下一篇:缓减海缆敷设受损的牵引结构