[发明专利]基于MapReduce 计算模型的任务封装方法及装置有效
申请号: | 201310050148.1 | 申请日: | 2013-02-06 |
公开(公告)号: | CN103150161A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 岳洋;钮毅 | 申请(专利权)人: | 中金数据系统有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/45 |
代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 寇海侠 |
地址: | 100176 北京市大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 mapreduce 计算 模型 任务 封装 方法 装置 | ||
技术领域
本发明涉及云计算领域,具体涉及一种基于MapReduce计算模型的任务封装方法及装置。
背景技术
Hadoop是一个能够对大量数据进行分布式处理的软件框架,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式系统(Hadoop Distributed File System,简称为HDFS)。HDFS有着高容错性的特点,并且设计用来部署在低廉的硬件上,而且它提供高传输率来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了可移植操作系统接口(Portable Operating System Interface of Unix,缩写为POSIX)的要求,这样可以以流的形式访问文件系统中的数据。
MapReduce是Hadoop的核心组件之一,Hadoop包括两部分,一是分布式文件系统,一部是分布式计算系统,也就是MapReduce,两者缺一不可。也就是说,可以通过MapReduce很容易在Hadoop平台上进行分布式的计算编程。Hadoop平台的框架代码由Java语言编写,因此,MapReduce计算模型对于原生Java程序,可以直接被加载调用。但是对于其他语言的程序无法直接调用,只能在其之外,对其输入输出的数据以数据流的方式进行写和读。这种数据流的形式在程序中可以称为流作业(Streaming Job)。其中流(Streaming)就是指输入输出数据的形式。这些数据一般指Linux下的各种可执行程序:包括但不限于Linux外壳程序(Shell程序)、Python或Perl程序的脚本程 序文件、使用其他语言编写的程序,使用Linux编译器编译后输出的可执行文件,如后缀为exe、bin的一些文件。
MapReduce计算模型环境时,将用户程序自定义的业务逻辑封装在分布式计算系统自带的壳任务内,由壳任务来引导整个工作流。MapReduce计算模型环境时,在运行MapReduce计算模型支持的Java编译程序,使用Java标准打包器将Java编译程序封装成Jar格式文件,形成Java作业类型的任务,然后将Java作业类型的任务信息,即Jar格式文件的位置信息作为参数传递给壳任务。
在计算机程序中,任务是指在多程序或多进程环境中,由计算机来完成的基本工作元,它是控制程序的一个或多个指令序列,壳任务是指按照MapReduce计算模型自定义的开发接口开发的,用于封装其他程序的程序。
用户在开发分布式计算系统的时候,往往有多种多样的计算需求,需要使用除Java语言以外的其他语言编写程序,而MapReduce计算模型是基于Java语言开发的,对于其他计算机程序语言编写的程序不支持,限制了整个分布式计算系统的灵活性和适应性。
发明内容
本发明要解决的一个技术问题是现有技术中的MapReduce计算模型是基于Java语言开发的,对于其他计算机程序语言编写的程序不支持,限制了整个分布式计算系统的灵活性和适应性的技术问题,从而提供一种将非MapReduce支持的作业类型封装为MapReduce支持的任务类型的基于MapReduce计算模型的任务封装方法及装置。
为解决上述技术问题,本发明采用的技术方案如下:
一种基于MapReduce计算模型的任务封装方法,包括如下步骤:
S1,任务引擎获取输入程序,判断所述输入程序是否为MapReduce计算模型支持的Java编译程序,若是,则执行步骤S2;若否,则执行步骤S4;
S2,使用Java标准打包器将Java编译程序封装成Jar格式文件;
S3,将Jar格式文件的位置信息传递给MapReduce计算模型中运行的壳任务;
S4,判断所述输入程序是否为流作业类型的程序,若是,执行步骤S5;若否,则执行步骤S6;
S5,将流作业类型的程序作为流作业类型的任务,并将流作业类型的任务信息传递给MapReduce计算模型中运行的壳任务;
S6,将所述输入程序封装为流作业类型的任务,将流作业类型的任务信息传递给MapReduce计算模型中运行的壳任务。
在所述步骤S1中,判断所述任务是否为MapReduce计算模型支持的Java编译程序,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中金数据系统有限公司,未经中金数据系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310050148.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:通用大中型电机找正顶升器
- 下一篇:高线成品盘卷专用吊具