[发明专利]一种MapReduce系统中的数据采样和划分方法有效
申请号: | 201210205841.7 | 申请日: | 2012-06-18 |
公开(公告)号: | CN102799486A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 姚金宇;陈琪;肖臻 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;H04L29/08 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mapreduce 系统 中的 数据 采样 划分 方法 | ||
技术领域
本发明涉及分布式计算框架MapReduce系统中的数据采样和划分方法,属于计算机应用技术领域。
背景技术
云计算是当前工业界和学术界关注的热点,它改变了传统上由用户提供和维护计算资源的模式,改由云计算厂商集中化管理计算资源,用户可以根据不同的应用场景,按需获取相应的资源。如何利用资源集中化带来的并行性、容错性等特性,高效的提供云计算服务,成为了云计算模式最重要的研究问题之一。
MapReduce分布式计算框架是Google公司提出的软件架构,借鉴了函数式编程的思想,高效地进行大规模数据集的分布式计算。MapReduce框架以其优异的容错性、计算的高效性和使用的便捷性,迅速成为云计算环境下应用最广泛的分布式计算架构。尤其是2005年Apache Software Foundation引入基于MapReduce框架开发的Hadoop开源系统以来,MapReduce架构得到了更大的发展,利用MapReduce思想构建的分布式计算系统已经被Google、微软、Facebook、Yahoo!以及国内的腾讯、百度、阿里云等软件公司和互联网公司在各自的私有云集群中深度采用,并且也成为了当前部署云计算集群进行分布式计算的首选软件架构,在科学计算、人工智能、数据挖掘、信息处理等各个领域都得到了广泛的应用。
MapReduce框架将一个计算任务划分成若干个Map任务和Reduce任务。首先,输入数据集通过Map任务,映射成为若干(Key,Value)二元组。然后,键值Key相同的二元组被集中起来传输给Reduce任务,并处理成最终的输出数据。MapReduce任务通过将数据分块并行化实现了高效并行;并且计算节点周期性报告计算进度,保证了可靠性和容错性。大量的实际应用都可以很方便地转化成MapReduce模式并行执行。
在上述处理过程中,处理Map任务大多数情况下可以实现高度并行化;但Reduce任务受到相同键值Key的二元组数目的制约(MapReduce原始架构要求同一个键值的二元组必须在同一个Reduce计算节点上完成),在输入数据中即包含某一些键值的二元组数量特别大的时候,并行度会受到影响。当前最常用的Reduce负载均衡的算法是采用Hash划分(Hadoop MapReduce中的默认方法就是Hash划分),即键值的Hash值(取模后)相同的所有二元组分配给同一个Reduce任务执行。在真实应用环境下,由于本身存在严重的数据倾斜(Data Skew),例如英文单词的分布、互联网网页的访问量分布、经济学中帕累托法则的数据分布等,这种盲目的负载均衡方法都会造成Reduce负载分布不均,使得整个任务执行效率很低。如果能够在MapReduce任务执行的过程中估测数据的分布,进而实现更加精准的Reduce负载均衡策略,无疑会很大程度上提高MapReduce任务的执行效率,从而对云计算服务的提供者和使用者都带来很大的好处。
发明内容
鉴于现有技术存在的不足,本发明提供了一种MapReduce系统中的实时数据采样、分布估测和区间划分方法,能够在MapReduce任务执行过程中对输入数据的分布进行预测,进而实现Reduce任务负载均衡,使得整个系统效率得到较大提升。
为了实现上述目的,本发明采用的技术方案概述如下:
一种在MapReduce系统中的数据采样和划分方法,其步骤包括:
1)客户端向MapReduce系统中提交任务请求,所述MapReduce系统中的主控节点将Map任务划分成采样和普通任务,所述主控节点Master将采样任务优先下发到各个分节点Worker进行执行;
2)根据各个分节点Worker上的Map采样任务筛选出样本集合,并将样本上传至主控节点Master进行合并;
3)所述主控节点Master根据Map采样任务结果得到Reduce任务工作量,对Reduce任务划分键值区间,实现负载均衡,完成采样和划分。
键值区间的划分方法是:
2-1)在合并的样本集合中,筛选出包含二元组最多的样本键值,以此划分初步键值域;
2-2)根据每一个键值区间中其它样本键值的个数,按样本的键值落在每个区间的比例将收集总键值数Ktot和收集总二元组数Rtot分配到每一个区间,得到待计算的二元组在键值域上分布;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210205841.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置