[发明专利]基于MapReduce的数据处理方法、客户端和系统在审

专利信息
申请号: 201310598175.2 申请日: 2013-11-22
公开(公告)号: CN103617033A 公开(公告)日: 2014-03-05
发明(设计)人: 王函;王玮;吴远青;潘腾;郭伟;王旭东 申请(专利权)人: 北京掌阔移动传媒科技有限公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 暂无信息 代理人: 暂无信息
地址: 100026 北京市朝*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 mapreduce 数据处理 方法 客户端 系统
【说明书】:

技术领域

发明属于一种基于MapReduce的数据处理方法、客户端和系统。

背景技术

目前主流的大数据处理框架基本都是基于Apache的开源项目Hadoop进行开发,但是由于Hadoop本身所使用的MapReduce框架是基于HDFS定义的文件系统,所以在读取文件的时候对于输入路径有着一定的要求。并且由于MapReduce的处理流程属于顺序处理的流程,无法持续进行迭代的性质也给大数据的处理造成了一定的麻烦。

目前MapReduce架构在读取输入文件夹的时候不支持多个文件夹内容读取,意味着所有的输入文件都必须要在同一个文件夹下。这样对于大部分应用来讲,若需要通过MapReduce来操作数据必须要先将数据预处理到同一个文件夹下,当遇到输入数据量级非常大的时候,预处理的时间则会超过数据正常处理计算的时间,进而导致程序处理效率低。

比如,Mapper类从input split中读取一个个的record,然后依次调用Mapper的map函数,将结果输出。map的输出并不是直接写入硬盘,而是将其写入缓存memory buffer。当buffer中数据的到达一定的大小,一个背景线程将数据开始写入硬盘。在写入硬盘之前,内存中的数据通过partitioner分成多个partition。在同一个partition中,背景线程会将数据按照key在内存中排序。每次从内存向硬盘flush数据,都生成一个新的spill文件。当此task结束之前,所有的spill文件被合并为一个整的被partition的而且排好序的文件。reducer可以通过http协议请求map的输出文件,tracker.http.threads可以设置http服务线程数。

当map task结束后,其通知TaskTracker,TaskTracker通知JobTracker。

对于一个job,JobTracker知道TaskTracer和map输出的对应关系。reducer中一个线程周期性的向JobTracker请求map输出的位置,直到其取得了所有的map输出。reduce task需要其对应的partition的所有的map输出.reduce task中的copy过程即当每个map task结束的时候就开始拷贝输出,因为不同的map task完成时间不同。reduce task中有多个copy线程,可以并行拷贝map输出。当很多map输出拷贝到reduce task后,一个背景线程将其合并为一个大的排好序的文件。当所有的map输出都拷贝到reduce task后,进入sort过程,将所有的map输出合并为大的排好序的文件。最后进入reduce过程,调用reducer的reduce函数,处理排好序的输出的每个key,最后的结果写入HDFS。

由此可见,整个MapReduce的过程是非迭代性质的,属于直线型one-in-one-out的模式,这在处理某些应用场景下,则明显不适用。

发明内容

本发明所要解决的技术问题是提供一种基于MapReduce的数据处理方法,用以在不对多个文件夹进行预处理的情况下直接进行MapReduce计算,从而降低由于预处理给程序处理上带来的压力。

本发明解决上述技术问题所采取的技术方案如下:

一种基于MapReduce的数据处理方法,包括:

客户端查询并获取本次MapReduce计算需要处理的多个文件夹信息,其中,所述多个文件夹中存储着需要处理的数据文件;

遍历所述多个文件夹,根据所述多个文件夹的数据文件生成不同的任务,并依此送入MapReduce中的Map程序中,直至读取完所有的数据文件,并由Map程序依次对所述数据文件进行map计算。

进一步还包括:

获取所述多个文件夹的路径信息,根据所述多个路径信息遍历所述多个文件夹。

所述多个文件夹按照预设的命名规则进行命名,所述Map程序依次遍历所述多个文件夹,包括:

获取文件夹的最小命名和文件夹的最大命名,通过循环调用的依次遍历所述多个文件夹。

还包括:Map程序依次对所述数据文件进行map计算后,输出的结果送入Reduce程序进行reduce计算。

一种基于MapReduce的数据处理客户端,包括:

查询单元,用于查询并获取本次MapReduce计算需要处理的多个文件夹信息,其中,且每一个文件夹中都存储着需要处理的数据文件;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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