[发明专利]一种提高Spark SQL的查询效率的方法有效

专利信息
申请号: 201810351379.9 申请日: 2018-04-17
公开(公告)号: CN108710640B 公开(公告)日: 2021-11-12
发明(设计)人: 宋爱波;万雨桐 申请(专利权)人: 东南大学
主分类号: G06F16/2455 分类号: G06F16/2455
代理公司: 南京众联专利代理有限公司 32206 代理人: 许小莉
地址: 210096 *** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 提高 spark sql 查询 效率 方法
【说明书】:

发明公开了一种提高Spark SQL的查询效率的方法。本发明包括步骤S1:构建查询预分析模块,通过估算模型,计算Shuffle产生的中间数据的大小,从而计算出用于缓存所述中间数据的中间数据缓存层的总大小;步骤S2:根据步骤1计算出的中间数据缓存层的总大小,结合集群中每个结点输入数据的分布情况,通过缓存层分配模块为每个结点设置合理的内存空间大小。本发明能有效地通过Shuffle中间数据缓存处理方法解决Spark SQL查询中磁盘I/O开销较高的问题。

技术领域:

本发明涉及一种提高Spark SQL的查询效率的方法,具体涉及一种通过Shuffle操作中间数据缓存的处理提高Spark SQL的查询效率的方法。

背景技术:

随着互联网的不断发展与普及,企业、政府机关,科研机构等每天产生的数据量是可观的。例如,淘宝每天产生的数据量达到7T,百度每天需要处理的数据量达到了100PB,处理大数据的现实需求促进了云计算领域很多的学术研究。Apache Spark是一个基于内存的计算框架,它以弹性分布式数据集RDD(Resilient Distributed Datasets)的实现为核心,实现数据的分布与容错。Spark是一个高速而通用的大数据处理引擎,由加州大学伯克利分校AMP (Algorithms,Machines,and People Lab)实验室团队使用语言Scala开发。SparkSQL从基于 Hive的Shark开发而来,是一种用于处理结构化数据的Spark组件。

Spark在执行一个作业的过程中,会首先为该作业生成一个有向无环图(DirectedAcyclic Graph,DAG)来记录所进行的操作。其次,DAG图将会根据RDD间的依赖关系被划分成若干个阶段,同一个阶段中的RDD之间的依赖关系均为窄依赖,连接两个阶段的RDD之间的依赖关系为宽依赖。在发生窄依赖时,数据在内存中的多个RDD操作之间进行传递,不会发生磁盘I/O开销。但是在发生宽依赖时,由于需要读取所有的父RDD的内容并做连接操作,该操作开销较大,如果都在内存中进行容易内存溢出。因此Spark默认在发生宽依赖时,会把每个阶段生成的中间数据写到磁盘,该过程称为Shuffle。而Spark Shuffle阶段会产生大量的中间数据,图1是Spark SQL运行一个简单查询产生中间文件的个数,最多时产生了8000 个文件,并且波动较大从而造成了大量的随机磁盘I/O开销,该开销是阻碍Spark SQL执行效率的主要因素之一。

发明内容

本发明的目的是提供一种提高Spark SQL的查询效率的方法,通过Shuffle中间数据缓存处理方法解决Spark SQL查询中磁盘I/O开销较高的问题。

上述的目的通过以下技术方案实现:

一种提高Spark SQL的查询效率的方法,该方法包括如下步骤:

步骤S1:构建查询预分析模块,通过估算模型,计算Shuffle产生的中间数据的大小,从而计算出用于缓存所述中间数据的中间数据缓存层的总大小;

步骤S2:根据步骤1计算出的中间数据缓存层的总大小,结合集群中每个结点输入数据的分布情况,通过缓存层分配模块为每个结点设置合理的内存空间大小。

进一步地,步骤S1中所述的计算Shuffle产生的中间数据的大小的具体方法是:查询预分析模块通过解析用户输入的查询语句得到Spark下该作业的工作流,根据估算模型计算工作流中每个阶段生成的中间数据大小。

进一步地,步骤S2中在获得缓存层的总大小后,缓存层分配模块统计输入数据的每一个数据块在集群中的分布情况,按比例为不同的结点开辟不同大小的内存。

进一步地,所述工作流包括两个阶段,分别是进行投影、选择、聚集操作的阶段,和进行连接操作的阶段,每个阶段产生的中间数据的大小之后,通过求和即可得到缓存层的总大小Mtotal

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810351379.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top