[发明专利]一种提升Spark运行效能的方法及装置在审

专利信息
申请号: 201610482075.7 申请日: 2016-06-27
公开(公告)号: CN107544844A 公开(公告)日: 2018-01-05
发明(设计)人: 肖丽华;王跃;刘晏 申请(专利权)人: 中兴通讯股份有限公司
主分类号: G06F9/50 分类号: G06F9/50
代理公司: 北京元本知识产权代理事务所11308 代理人: 秦力军
地址: 518057 广东省深圳市*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 提升 spark 运行 效能 方法 装置
【说明书】:

技术领域

发明涉及大数据分析及处理领域,特别涉及一种提升Spark运行效能的方法及装置。

背景技术

随着信息化的发展,企业要处理的数据爆炸式的增长,数据量都达到了太字节(万亿字节,TB)级、拍字节(千万亿字节,PB)级。为了支撑这么大规模数据的分析和处理,各类大数据框架、工具和技术应运而生,Spark便是其中之一。

Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,其通过在数据处理过程中采用成本更低的混洗(Shuffle)方式,将“映射-规约”模型(Map Reduce)提升到一个更高的层次,并且利用内存数据存储和接近实时的处理能力,使其性能比其他大数据处理技术要快很多倍。Spark SQL是Spark的一个组件,用来支持结构化查询语言(Structured Query Language,SQL)标准,因其易用性,高性能,并借助了传统SQL的用户惯性及生态系统的力量,受到用户广泛青睐。

Spark SQL的调度核心是Catalyst,Catalyst是Spark SQL中的函数式关系查询优化框架,在将SQL语言翻译成最终执行计划的过程中会进行查询优化。另外Spark SQL在存储上可以通过高速缓冲存储表(cache table)将数据存储转换为列式存储,同时将数据加载到内存进行缓存,从而大大减少内存缓存数据量、网络传输数据量和输入/输出(I/O)开销。同时列式存储是数据类型相同的数据连续存储,能够利用序列化和压缩减少内存空间的占用。

虽然Spark SQL有强大的优化器,且通过cache table支持列式存储、内存缓存和存储压缩,但这些优化都集中在Spark SQL执行过程,即任务提交到Spark之后,如果应用不能根据实际情况充分利用Spark SQL的优势,合理组织任务的提交,就不可避免会出现一些问题,抵消Spark SQL自身优势带来的效能提升红利:

1.系统拥有充足的内存资源和内核(CPU)资源,但不能被充分使用,如任务串行提交或并行度不够。

2.高速缓冲存储表缓存与释放的时机把握不准。

缓存过早或释放过晚,将导致系统资源(尤其是内存)不能及时释放;cache table主要用于缓存中间表结果,它的特点是数据量少且数据被后续计算(SQL)频繁使用。如果中间表结果使用完毕,应立即使用uncache命令释放缓存空间,以便缓存其它数据。

3.该缓存的数据没缓存,不该缓存的数据却缓存了,或者只需要缓存部分列的数据被全表缓存。

4.缓存后的数据得不到充分使用,导致对同样的数据反复缓存。

5.分布式计算系统的精粹在于移动计算而非移动数据,但是在实际的计算过程中,总存在着移动数据的情况,除非是在集群的所有节点上都保存数据的副本。移动数据,将数据从一个节点移动到另一个节点进行计算,不但消耗了网络IO,也消耗了磁盘IO,降低了整个计算的效率。

发明内容

本发明实施例提供的技术方案解决的技术问题是如何将Spark运行效能提升。

根据本发明实施例提供的一种提升Spark运行效能的方法,包括:

对系统中需要高速缓存cache的表进行确定;

对以所确定的需要cache的表作为输入或输出的cache任务进行识别;

对所识别的cache任务进行分组,并为相应的cache任务组创建处理进程;

根据每个处理进程的当前状态和Spark集群资源的实时使用情况,对待提交的cache任务进行组合,并发送至Spark集群处理。

优选地,所述对系统中需要cache的表进行确定的步骤包括:

根据表的出度、表单次cache的记录数、表中多个cache任务间的就绪时间差,确定需要cache的表;和/或

将自定义的cache类型的表确定为需要cache的表。

优选地,所述对所识别的cache任务进行分组的步骤包括:

以所识别的cache任务为对象,建立关于cache任务的有向无环图;

根据所述有向无环图,将通过需要cache的表相互关联的cache任务分配到同一cache任务组。

优选地,所述为相应的cache任务组创建处理进程的步骤包括:

若对所识别的cache任务进行分组的处理是第一次分组处理,则对本次分组处理得到的每一个cache任务组创建相应的处理进程;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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