一种处理串行任务的数据处理装置及方法制造方法及图纸

技术编号:16285304 阅读:75 留言:0更新日期:2017-09-24 10:56
本发明专利技术实施例公开了一种处理串行任务的数据处理装置及方法,能够在数据处理的过程中减少从分布式系统中的各个节点设备的磁盘上读取输出结果的次数,从而减少处理大量数据所需的时间以及所占用的网络资源。本发明专利技术的方法包括:获取至少两个MapReduce任务,至少两个MapReduce任务按照执行先后顺序串行排列;其中,当两个MapReduce任务串行排列时,前一个MapReduce任务被执行后得到的输出值为后一个MapReduce任务的输入值;合并至少两个MapReduce任务得到目标MapReduce任务;执行目标MapReduce任务,并得到目标MapReduce任务的输出结果。

Data processing device and method for processing serial task

The implementation of data processing device and method discloses a serial processing task, which can reduce the equipment from each node in the distributed system on the disk to read the output results of the times in the process of data processing, so as to reduce the need for handling large amounts of data and time occupied by the cyber source. The method of the invention comprises: acquiring at least two MapReduce tasks, at least two MapReduce tasks in accordance with the execution order serial arrangement; among them, when the two MapReduce serial task arrangement, before a MapReduce task is executed after the output value obtained for a MapReduce task input value; with at least two MapReduce tasks to get the target MapReduce task; execute the target MapReduce task, the output results and obtain the target task MapReduce.

【技术实现步骤摘要】

本专利技术涉及电子信息
,尤其涉及一种处理串行任务的数据处理装置及方法
技术介绍
目前,由于数据规模越来越大,为了有效处理大规模数据,已经发展出了很多适用于大数据处理的技术。其中,MapReduce是一种常用的用于处理大规模数据的技术。在应用了MapReduce的编程模型中,需要使用Map(映射)函数和Reduce(规约)函数。其中,map函数:接受一个键值对(key-valuepair),产生一组中间键值对,并将map函数产生的中间键值对里键相同的值传递给一个reduce函数。reduce函数:接受一个键,以及相关的一组值,将这组值进行合并产生一组规模更小的值(通常只有一个或零个值)。在实际应用中,一个MapReduce任务可以由一个基于Map(映射)函数的Map任务和一个基于Reduce(规约)函数的Reduce任务组成,例如:在HDFS(HadoopDistributedFileSystem,Hadoop分布式文件系统)技术中,经常需要执行串行的多个MapReduce任务,对于每一个MapReduce任务,需要先执行Map任务,并将输出结果存储到分布式系统中的各个节点设备的磁盘上。之后再通过采用HTTP协议从分布式系统中的各个节点设备上远程拷贝每一个Map任务执行完毕后的输出结果,再对该输出结果进行执行Reduce任务。并重复这个过程,直至将所有的MapReduce流程依次执行完毕。由此可见,执行一个MapReduce任务需要从分布式系统的节点设备的磁盘上读取至少一次输出结果。如果执行多个串行MapReduce任务过程中,就需要占用很多时间和网络带宽分多次从分布式系统中的各个节点设备的磁盘上读取输出结果,从而增加处理大量数据所需的时间以及网络资源。
技术实现思路
本专利技术的实施例提供一种处理串行任务的数据处理装置及方法,能够在数据处理的过程中减少从分布式系统中的各个节点设备的磁盘上读取输出结果的次数,从而减少处理大量数据所需的时间以及所占用的网络资源。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术的实施例提供处理串行任务的数据处理装置,其特征在于,包括:任务提取模块,用于获取至少两个MapReduce任务,所述至少两个MapReduce任务按照执行先后顺序串行排列所述至少两个MapReduce任务按照执行先后顺序串行排列;其中,当两个MapReduce任务串行排列时,前一个MapReduce任务被执行后得到的输出值为后一个MapReduce任务的输入值;合并模块,用于合并所述至少两个MapReduce任务得到目标MapReduce任务;执行模块,用于执行目标MapReduce任务,并得到所述目标MapReduce任务的输出结果。结合第一方面,在第一方面的第一种可能的实现方式中,所述合并模块包括:分析单元,用于从所述至少两个MapReduce任务中,提取每一个MapReduce任务对应的Map任务;合并单元,用于合并所述至少两个MapReduce任务中每一个MapReduce任务对应的Map任务的代码,并得到合并后的Map任务的代码,其中,当所述至少两个MapReduce任务存在信息依赖关系时,所述至少两个MapReduce任务按照执行的先后顺序依次排列,并且前一个MapReduce任务对应的Map任务的代码的输出值作为与所述前一个MapReduce任务相邻的后一个MapReduce任务对应的Map任务的代码的输入值;目标任务生成单元,用于利用所述合并后的Map任务的代码,得到所述目标MapReduce任务。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述执行模块包括:执行单元,用于执行所述合并后的Map任务;发送单元,用于将所述合并后的Map任务的执行结果发送至用于执行Reduce任务的设备;接收单元,用于接收所述用于执行Reduce任务的设备发送的所述输出结果,所述输出结果由所述用于执行Reduce任务的设备根据所述合并后的Map任务的执行结果得到。结合第一方面的第一或二种可能的实现方式,在第三种可能的实现方式中,所述合并单元,具体用于:获取每一个MapReduce任务对应的Map任务的环境准备操作代码、逻辑操作代码和环境清理操作代码;先编译所获取的每一个MapReduce任务对应的Map任务的环境准备操作代码;再编译所获取的每一个MapReduce任务对应的Map任务的逻辑操作代码;之后编译所获取的每一个MapReduce任务对应的Map任务的环境清理操作代码;最后得到所述合并后的Map任务的代码。第二方面,本专利技术的实施例提供一种处理串行任务的数据处理方法,其特征在于,包括:获取至少两个MapReduce任务,所述至少两个MapReduce任务按照执行先后顺序串行排列;其中,当两个MapReduce任务串行排列时,前一个MapReduce任务被执行后得到的输出值为后一个MapReduce任务的输入值;合并所述至少两个MapReduce任务得到目标MapReduce任务;执行目标MapReduce任务,并得到所述目标MapReduce任务的输出结果。结合第二方面,在第二方面的第一种可能的实现方式中,所述合并所述至少两个MapReduce任务得到目标MapReduce任务,具体包括:从所述至少两个MapReduce任务中,提取每一个MapReduce任务对应的Map任务;合并所述至少两个MapReduce任务中每一个MapReduce任务对应的Map任务的代码,并得到合并后的Map任务的代码,其中,当所述至少两个MapReduce任务存在信息依赖关系时,所述至少两个MapReduce任务按照执行的先后顺序依次排列,并且前一个MapReduce任务对应的Map任务的代码的输出值作为与所述前一个MapReduce任务相邻的后一个MapReduce任务对应的Map任务的代码的输入值;利用所述合并后的Map任务的代码,得到所述目标MapReduce任务。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述执行目标MapReduce任务,得到所述目标MapReduce任务的输出结果,包括:执行所述合并后的Map任务,并将所述合并后的Map任务的执行结果发送至用于执行Reduce任务的设备;接收所述用于执行Reduce任务的设备发送的所述本文档来自技高网
...

【技术保护点】
一种处理串行任务的数据处理装置,其特征在于,包括:任务提取模块,用于获取至少两个MapReduce任务,所述至少两个MapReduce任务按照执行先后顺序串行排列所述至少两个MapReduce任务按照执行先后顺序串行排列;其中,当两个MapReduce任务串行排列时,前一个MapReduce任务被执行后得到的输出值为后一个MapReduce任务的输入值;合并模块,用于合并所述至少两个MapReduce任务得到目标MapReduce任务;执行模块,用于执行目标MapReduce任务,并得到所述目标MapReduce任务的输出结果。

【技术特征摘要】
1.一种处理串行任务的数据处理装置,其特征在于,包括:
任务提取模块,用于获取至少两个MapReduce任务,所述至少两个
MapReduce任务按照执行先后顺序串行排列所述至少两个MapReduce任务按照
执行先后顺序串行排列;其中,当两个MapReduce任务串行排列时,前一个
MapReduce任务被执行后得到的输出值为后一个MapReduce任务的输入值;
合并模块,用于合并所述至少两个MapReduce任务得到目标MapReduce任
务;
执行模块,用于执行目标MapReduce任务,并得到所述目标MapReduce任务
的输出结果。
2.根据权利要求1所述的处理串行任务的数据处理装置,其特征在于,所
述合并模块包括:
分析单元,用于从所述至少两个MapReduce任务中,提取每一个MapReduce
任务对应的Map任务;
合并单元,用于合并所述至少两个MapReduce任务中每一个MapReduce任务
对应的Map任务的代码,并得到合并后的Map任务的代码,其中,当所述至少两
个MapReduce任务存在信息依赖关系时,所述至少两个MapReduce任务按照执行
的先后顺序依次排列,并且前一个MapReduce任务对应的Map任务的代码的输出
值作为与所述前一个MapReduce任务相邻的后一个MapReduce任务对应的Map
任务的代码的输入值;
目标任务生成单元,用于利用所述合并后的Map任务的代码,得到所述目标
MapReduce任务。
3.根据权利要求2所述的处理串行任务的数据处理装置,其特征在于,所
述执行模块包括:
执行单元,用于执行所述合并后的Map任务;
发送单元,用于将所述合并后的Map任务的执行结果发送至用于执行Reduce
任务的设备;
接收单元,用于接收所述用于执行Reduce任务的设备发送的所述输出结果,
所述输出结果由所述用于执行Reduce任务的设备根据所述合并后的Map任务的
执行结果得到。
4.根据权利要求2或3所述的处理串行任务的数据处理装置,其特征在于,
所述合并单元,具体用于:
获取每一个MapReduce任务对应的Map任务的环境准备操作代码、逻辑操作
代码和环境清理操作代码;
先编译所获取的每一个MapReduce任务对应的Map任务的环境准备操作代
码;再编译所获取的每一个MapReduce任务对应的Map任务的逻辑操作代码;之
后编译所获取的每一个MapReduce任务对应的Map任务的环境清理操作代码;最
后得到所述合并后的Map任务的代码。
5.一种处理串...

【专利技术属性】
技术研发人员:刘衍初刘超
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1