[发明专利]MapReduce参数的动态确定方法及装置有效
申请号: | 201310078507.4 | 申请日: | 2013-03-12 |
公开(公告)号: | CN103218263A | 公开(公告)日: | 2013-07-24 |
发明(设计)人: | 林学练;于晨晖;韩军;叶玥;崔晓龙 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/30 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | mapreduce 参数 动态 确定 方法 装置 | ||
技术领域
本发明涉及分布式计算技术领域,尤其涉及一种MapReduce参数的动态确定方法及装置。
背景技术
映射化简MapReduce是一种分布式计算框架,其借鉴函数式编程的思想,对大规模数据集进行高效地分布式计算。MapReduce框架将一个计算作业Job划分成若干个映射Map任务和化简Reduce任务,Map任务阶段和Reduce任务阶段的输入和输出的数据模型都是Key-Value形式的,并且Reduce任务阶段依赖Map任务阶段的输出作为自己的输入。而Map任务的数量由输入的数据集决定,Reduce任务的数量由用户指定。由于输入的数据集一般较大,因此,数据集会被切割成多个数据块chunk,在MapReduce作业提交之后,MapReduce框架的调度器Master会根据输入数据集包含的数据块的数量确定相应的Map任务的数量,使得每个Map任务处理一个数据块。
而每个Map任务输入的数据块被转换成Key-Value形式,经过Map运算,输出Key-Value形式的中间结果,中间结果会按Key排序,排序结果将被输出到此Map任务运行所在计算节点的本地磁盘上,MapReduce框架会按Key排序并且按用户指定的Reduce任务的数量对key分区并对落在同一分区中的Value做聚合。每个Reduce任务的输入数据是多个Map任务输出的中间结果的一部分,例如,如果用户指定了n个Reduce任务,就存在n个分区,属于每个分区的中间结果通过网络传输到执行该分区计算的Reduce任务中,执行用户指定的Reduce算法,最后输出结果。
由于在现有的MapReduce框架中,在Map任务执行前就必须知道Reduce任务的准确数量,从而在Map任务阶段可以根据用户指定的Reduce任务的数量对输出的中间结果进行分区,而Reduce任务的数量通常是又由用户人为指定,因此,无论Map任务阶段输出的中间结果有多少,都是按照既定的Reduce任务的数量进行Reduce任务的作业。当Map任务阶段输出的中间结果很少时,完全可以在1~2个Reduce任务中执行,但是可能用户指定的Reduce任务的数量远大于2,如果还按照用户指定的Reduce任务的数量作业则会导致不必要的资源浪费;而当Map任务阶段输出的中间结果很多、用户指定的Reduce任务的数量又相对较少时,如果按照用户指定的Reduce任务的数量作业则会导致执行时间过长的问题。
发明内容
本发明的目的在于提供一种MapReduce参数的动态确定方法及装置,从而实现在MapReduce作业中动态确定一个合理的Reduce任务的数量。
本发明的第一个方面是提供一种MapReduce参数的动态确定方法,包括:
获取MapReduce作业请求,所述MapReduce作业请求包括待作业数据集、预设的Reduce任务的数量以及用于表示是否允许启动Reduce任务数量的调整机制的参数;
若所述用于表示是否允许启动Reduce任务数量的调整机制的参数为允许,则监控Map任务的执行;
若已执行的Map任务的数量满足预设的第一阈值,所述已执行的Map任务的输出结果映射到预设的Reduce任务的数量的分区,则确定调整后的Reduce任务的数量;
根据所述调整后的Reduce任务的数量,将各未执行的预设Reduce任务对应到各调整后的Reduce任务,以使执行各调整后的Reduce任务。
本发明的另一个方面是提供一种MapReduce参数的动态确定装置,包括:
作业请求获取模块,用于获取MapReduce作业请求,所述MapReduce作业请求包括待作业数据集、预设的Reduce任务的数量以及用于表示是否允许启动Reduce任务数量的调整机制的参数;
监控模块,用于若所述用于表示是否允许启动Reduce任务数量的调整机制的参数为允许,则监控Map任务的执行;
确定模块,用于若已执行的Map任务的数量满足预设的第一阈值,所述已执行的Map任务的输出结果映射到的预设的Reduce任务的数量的分区,则确定调整后的Reduce任务的数量;
映射模块,用于根据所述调整后的Reduce任务的数量,将各未执行的预设Reduce任务对应到各调整后的Reduce任务,以使执行各调整后的Reduce任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310078507.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:玻璃钢木材静电喷粉工艺
- 下一篇:电容式触摸屏生产工艺