[发明专利]一种面向Spark并行计算框架的迭代式数据均衡优化方法在审
申请号: | 201710623289.6 | 申请日: | 2017-07-27 |
公开(公告)号: | CN107506388A | 公开(公告)日: | 2017-12-22 |
发明(设计)人: | 张元鸣;蒋建波;黄浪游;沈志鹏;项倩红;肖刚;陆佳炜;高飞 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/50;G06F12/02 |
代理公司: | 杭州天正专利事务所有限公司33201 | 代理人: | 王兵,黄美娟 |
地址: | 310014 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 spark 并行 计算 框架 迭代式 数据 均衡 优化 方法 | ||
技术领域
本发明涉及大数据处理和高性能计算领域,特别是提出了一种面向Spark并行计算框架的迭代式数据均衡优化方法。
背景技术
MapReduce是Google公司于2004年提出的一种用于大数据处理的并行计算模型,通过在大量廉价的机群节点同时运行多个任务并行地处理海量数据,提高了处理数据的性能,在过去十多年得到了迅速的发展和广泛应用。Spark是一个基于MapReduce的并行计算框架,于2009年由美国加州大学伯克利分校的AMPLab实验室开发,具有MapReduce的优点,并将任务计算中间结果保存到内存中,减少了磁盘读写开销,提高了大数据处理的性能,成为当前构建大数据处理平台的主流框架。
大数据处理过程中的数据不均衡,也称为数据倾斜,是导致Spark框架整体性能降低的重要瓶颈。Lin J(Proceedings of the 7th Workshop on Large-Scale Distributed Systems for Information Retrieval,2009)研究实验结果表明,当采用目前默认的Hash分区方法时,有达92%的Reducer产生了数据的不均衡现象,使整体性能降低了22%到38%。
针对大数据处理过程中的数据倾斜问题,国内外研究人员提出了不同的方法,大致可以归纳为以下几类:(1)两阶段数据分区方法:该方法由Gufler(Proceedings of the 1st International Conference on Cloud Computing and Services Science,2011)等提出,其先按照一次性分区方法生成数据分区,并在运行的过程中分析数据的分区情况,如果发生倾斜,则对数据量较大的分区进行拆分,并将拆分的数据调整到数据量较小的分区,从而实现数据均衡分区。然而,该方法的有效性取决于调整分区的时机,过早拆分数据量较大的分区会增加误拆分的可能性,而过晚拆分数据量较大的分区会造成数据延迟传输。(2)多阶段数据分区方法:该方法由王卓等(计算机学报,2016)提出,其通过在Map阶段生成细粒度分区,然后在运行的过程中通过定义的代价模型评估分区的平衡性,当满足某一条件时将选择的细粒度分配到Reducer上,经过多阶段的筛选和分配,使数据分配达到一定的平衡。然而,该方法进行分区时机难以把握,这不具有通用性。(3)采样数据分区方法:该方法由Ramakrishnan等(Proceedings of the 3rd ACM Symposium on Cloud Computering,2012)提出,其将采样与数据拆分相结合,在数据处理执行过程中增加一个额外的进程负责分析数据分布情况,当数据处理到一定比例后,根据采样进程的分析结果对数据进行拆分和合并,即将数据量大的分区拆分并与数据量较小的分区合并;然而,该方法需要额外开销以收集数据分布规律,将增加数据访问和数据传输开销,而且,数据采样还存在某种不确定性,如果采样过少会导致准确性不足,采样过多又将增加更多的额外开销;(4)延迟数据分区方法:该方法由Kwon等(Proceedings of the 1st ACM Symposium on Cloud Computing,2010)提出,其通过定义代价模型评估数据分区的大小,然后根据代价模型评估产生数据的大小,并在任务运行到某个时刻时启动数据分区。但是,该方法要求数据传输等到分区之后才能进行,因此将延迟数据传输的时间,大量的数据需要在Mapper端等待,使数据处理与数据传输不能同时进行;(5)迁移数据分区方法:该方法也由Kwon等(Proceedings of the 2012 ACM SIGMOD internet Conference on Manangement of Data,2012)提出,其不以数据均衡分区为目标,而是通过数据的迁移完成节点负载的平衡,通过制定代价模型,对尚未完成的Reducer的任务进行剩余代价评估,并在满足一定的条件时将该节点尚未被处理的数据迁移到已完成的任务节点上,从而实现各节点执行任务的均衡。但是该方法需要增加额外的数据传输代价,也就在一定程度上延迟了作业完成的时间;
发明内容
为了克服大数据处理过程中的数据倾斜问题,本发明提出了一种面向Spark并行计算框架的迭代式数据均衡分区方法,将大数据的分区以迭代的方式分配到各个Reducer上,使得各个Reducer上处理的数据量达到总体平衡,提高Spark并行计算框架对大数据处理的整体性能。
一种面向Spark并行计算框架的迭代式数据均衡分区方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710623289.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种互联网大数据匹配方法
- 下一篇:一种提取职位技能需求的方法和装置