[发明专利]一种构建基于MapReduce的动态脚本执行引擎的方法有效
申请号: | 201510109676.9 | 申请日: | 2015-03-13 |
公开(公告)号: | CN104750482B | 公开(公告)日: | 2018-04-10 |
发明(设计)人: | 任永强;潘柏宇;卢述奇 | 申请(专利权)人: | 合一信息技术(北京)有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/50 |
代理公司: | 北京律远专利代理事务所(普通合伙)11574 | 代理人: | 全成哲 |
地址: | 100080 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 构建 基于 mapreduce 动态 脚本 执行 引擎 方法 | ||
1.一种构建基于MapReduce的动态脚本执行引擎的方法,其特征在于,该方法包括以下步骤:
定义MapReduce中的Map执行阶段和Reduc执行阶段为相同框架的子类;
在作业配置阶段、Map执行阶段和Reduce执行阶段分别添加脚本动态编译和执行的过程,并将任务执行的各个步骤定义成闭包对象;
通过Shell命令启动并读取脚本并执行相应阶段的任务;
所述Map执行阶段的过程包括:调用mapSetup闭包对象初始化资源;根据数据的行数循环调用map进行数据的处理;通过mapCleanup进行资源的释放。
2.如权利要求1所述的方法,其特征在于,所述Reduce执行阶段的执行过程包括:
调用setup初始化资源;
根据Shuffle和排序阶段处理后的key/values的个数循环调用reduce闭包对象进行数据的处理;
通过cleanup进行资源的释放。
3.如权利要求1所述的方法,其特征在于,所述闭包用于传递参数,是一种可以事先定义,并在需要时执行的代码块或对象,且在定义的过程中,闭包可使用一个或者多个输入参数进行定义。
4.如权利要求1或3所述的方法,其特征在于,所述闭包定义规范如下:
(1)定义任务的设置和提交;
(2)定义Map执行阶段中的mapSetup闭包,初始化Map执行阶段的资源;
(3)定义Map执行阶段中的mapCleanup闭包,清理Map执行阶段申请的资源;
(4)定义Map执行阶段的执行过程,执行编译后的Map闭包对象;
(5)定义Reduce执行阶段的reduceSetup,初始化Reduce执行阶段的资源;
(6)定义Reduce执行阶段的reduceCleanup,清理Reduce执行阶段的资源;
(7)定义Reduce执行阶段的执行过程,执行编译后的Reduce闭包对象。
5.如权利要求1所述的方法,其特征在于,所述通过Shell命令启动并读取脚本并执行相应阶段的任务具体包括:
在脚本引擎启动时,任务脚本是以文本的方式读入引擎,做一次动态编译,执行脚本中的jobConf闭包进行任务的设置,然后提交任务;
脚本的文本存入MapReduce的系统环境变量中,且脚本的文本将随着系统环境变量的参数分发到各个TaskTracker的机器中。
6.如权利要求1所述的方法,其特征在于,所述通过Shell命令启动并读取脚本并执行相应阶段的任务还包括:
在Map执行阶段的mapSetup执行时预先读出脚本的文本,动态编译脚本,执行Map执行阶段闭包,并得到mapper和mapCleanup两个闭包的句柄;
接下来在调用map时转而调用mapper闭包的句柄完成map的处理,最后在cleanup阶段调用mapCleanup的句柄。
7.如权利要求1所述的方法,其特征在于,所述通过Shell命令启动并读取脚本并执行相应阶段的任务还包括:
在Reduce执行阶段的setup执行时预先读出脚本的文本,动态编译脚本,执行reduceSetup闭包,并得到reducer和reduceCleanup两个闭包的句柄;
接下来在调用reduce时转而调用reducer闭包的句柄完成reduce的处理,最后在cleanup阶段调用reduceCleanup的句柄。
8.如权利要求1-3,5-7中任意一项权利要求所述的方法,其特征在于,脚本引擎的脚本选用的是与Java能够完美集成的Groovy脚本,Groovy脚本在Map或Reduce初始化阶段时进行编译。
9.如权利要求4所述的方法,其特征在于,脚本引擎的脚本选用的是与Java能够完美集成的Groovy脚本,Groovy脚本在Map或Reduce初始化阶段时进行编译。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合一信息技术(北京)有限公司,未经合一信息技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510109676.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用聚合的方法和装置
- 下一篇:界面显示方法及装置