[发明专利]一种提高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。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810351379.9/2.html,转载请声明来源钻瓜专利网。