[发明专利]一种基于Spark SQL的计算下推查询优化方法在审
申请号: | 202110885275.8 | 申请日: | 2021-08-03 |
公开(公告)号: | CN113704296A | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 魏力 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;H04L29/06;G06F9/50 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 冯春连 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark sql 计算 下推 查询 优化 方法 | ||
本发明公开一种基于Spark SQL的计算下推查询优化方法,涉及数据处理技术领域,包括:ZNBase数据库的存储层和ZBSpark客户端;存储层用于提供数据的集中存储和管理,可以多节点部署,并支持分布式管理;ZBSpark客户端基于Apace Spark平台,用于通过SSL gRPC协议与ZNBase数据库的存储层进行数据传输;ZBSpark客户端中构建有PushDownExpr,有Spark SQL语句输入时,ZBSpark客户端首先对Spark SQL语句进行词法解析、语法分析以及语义分析,随后生成并执行逻辑计划和物理计划,并通过改写可扩展优化器Catalyst将操作符进行规则匹配,进而添加到PushDownExpr中,再随后ZBSpark客户端通过SSL gRPC协议将PushDownExpr传输到存储层,存储层通过PushDownExpr完成数据预处理,并返回至ZBSpark客户端。本发明可以减少IO、内存占用,提高ZBSpark客户端分析海量数据的性能。
技术领域
本发明涉及技术数据处理领域,具体的说是一种基于Spark SQL的计算下推查询优化方法。
背景技术
大数据时代的来临,给各行各业带来了深刻的变革。国产数据库就像能源一样已经成为提升国家和企业竞争力的关键要素。在现有的浪潮云溪数据库ZNBase中,存储引擎基于KV存储,主要是面向交易的处理过程,即OLTP(On-Line Transaction Processing)服务,在数据分析时,通过JDBC连接ZNBase数据库时,因为没有在ZNBase端进行列裁减,需要将ZNBase的全量KV数据进行返回,IO开销和内存占用很大,并要在java端进行解码,解码KV比较慢,而且jdbc没有分布式并行,只有单任务,这就造成了jdbc连接ZNBase的查询性能很差。由此可以看到,jdbc连接ZNBase的痛点之一就在于没有进行算子下推。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种基于Spark SQL的计算下推查询优化方法,通过在ZNBase数据库的存储层进行列裁减、过滤、聚合和排序处理,减少IO、内存占用,最终提高ZBSpark客户端分析海量数据的性能。
本发明的一种基于Spark SQL的计算下推查询优化方法,解决上述技术问题采用的技术方案如下:
一种基于Spark SQL的计算下推查询优化方法,其实现涉及ZNBase数据库的存储层和ZBSpark客户端;
ZNBase数据库的存储层用于提供数据的集中存储和管理,可以多节点部署,并支持分布式管理;
ZBSpark客户端基于Apace Spark平台,用于通过SSL gRPC协议与ZNBase数据库的存储层进行数据传输;
ZBSpark客户端中构建有下推因子扩展器PushDownExpr,在有Spark SQL语句输入ZBSpark客户端时,ZBSpark客户端首先对输入的Spark SQL语句进行词法解析、语法分析以及语义分析,随后生成并执行逻辑计划和物理计划,在执行逻辑计划和物理计划过程中,通过改写可扩展优化器Catalyst将操作符进行规则匹配,进而添加到下推因子扩展器PushDownExpr中,再随后,ZBSpark客户端通过SSL gRPC协议将下推因子扩展器PushDownExpr传输到ZNBase数据库的存储层,最后,ZNBase数据库的存储层通过下推因子扩展器PushDownExpr完成数据预处理,并返回至ZBSpark客户端。
可选的,在ZBSpark客户端搭建spark集群,集群节点上运行有ZBSpark Driver进程和ZBSpark Executor进程,ZBSpark客户端通过ZBSpark Driver进程创建一批tasks,并将这一批tasks分配到不同ZBSpark Executor进程中执行,每个ZBSpark Executor进程持有一个线程池,每个线程执行一个task,去ZNBase数据库的存储层读取数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110885275.8/2.html,转载请声明来源钻瓜专利网。