一种基于MapReduce的数据处理方法和装置制造方法及图纸

技术编号:12199274 阅读:82 留言:0更新日期:2015-10-14 11:30
本发明专利技术公开了一种基于MapReduce的数据处理方法和装置,用以解决现有技术中的MapReduce流程在处理数据时会频繁进行磁盘读写操作从而造成额外开销,严重影响系统性能的问题。该方法包括:确定针对欲处理数据所要执行的第一MapReduce流程;所述第一MapReduce流程中包含多个MapReduce作业;将所述第一MapReduce流程中满足预先设置的合并规则的MapReduce作业进行合并,得到第二MapReduce流程;其中,所述合并规则满足:合并前的MapReduce作业的执行结果与合并后的MapReduce作业的执行结果相同;对所述预处理数据执行所述第二MapReduce流程。

【技术实现步骤摘要】

本专利技术涉及云计算
,尤其涉及一种基于MapReduce的数据处理方法和装置
技术介绍
Hadoop是一个能够对大量数据进行处理的分布式系统基础框架,具有可靠、高效和可伸缩的特点。它主要由Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce组成。其中,MapReduce是一种分布式计算框架,主要用于大规模数据集的并行运算,其主要分为Map阶段(Map操作过程)和Reduce阶段(Reduce操作过程),这两个阶段的处理逻辑分别对应Map函数和Reduce函数。其并行计算的大致思想为:将文件分成众多小文件在各个节点上运行(即Map操作过程),运行结果先暂时保存在本地;然后经过一次混洗和排序,把相关的Map输出读取出来并传送到同一个Reduce操作过程;Reduce处理完的结果再保存在分布式集群上。MapReduce这种计算框架在Map和Reduce阶段均有对本地磁盘内数据的读写操作,而频繁的磁盘读写操作会造成额外开销,从而严重影响系统性能。
技术实现思路
本专利技术实施例提供一种基于MapReduce的数据处理方法和装置,用以解决现有技术中的MapReduce流程在处理数据时会频繁进行磁盘读写操作从而造成额外开销,严重影响系统性能的问题。本专利技术实施例采用以下技术方案:本专利技术实施例提供了一种基于MapReduce的数据处理方法,包括:确定针对欲处理数据所要执行的第一 MapReduce流程;所述第一 MapReduce流程中包含多个MapReduce作业;将所述第一 MapReduce流程中满足预先设置的合并规则的MapReduce作业进行合并,得到第二 MapReduce流程;其中,所述合并规则满足:合并前的MapReduce作业的执行结果与合并后的MapReduce作业的执行结果相同;对所述预处理数据执行所述第二 MapReduce流程。其中,所述合并规则,具体包括:仅包含Map操作的MapReduce作业和与其相邻的下一个MapReduce作业合并;包含Map操作和Reduce操作的MapReduce作业和与其相邻的下一个且最多一个仅包含Map操作的MapReduce作业合并。其中,将所述第一 MapReduce流程中满足预先设置的合并规则的MapReduce作业进行合并,具体包括:确定所述多个MapReduce作业中的每个MapReduce作业包含的操作;根据所述合并规则以及确定出的每个MapReduce作业包含的操作,从所述多个MapReduce作业中的第一个执行的MapReduce作业开始循环执行下述合并操作,直至当前MapReduce作业不存在与其相邻的下一个MapReduce作业;所述合并操作包括:判断当前MapReduce作业是否和与其相邻的下一个MapReduce作业合并;若判断结果为是,将当前MapReduce作业和与其相邻的下一个MapReduce作业合并,得到合并后的MapReduce作业;并将合并后的MapReduce作业作为当前MapReduce作业;若判断结果为否,结束此次合并;并将与当前MapReduce作业相邻的下一个MapReduce作业作为当前MapReduce作业。其中,对所述预处理数据执行所述第二 MapReduce流程之前,所述方法还包括:针对所述第二 MapReduce流程中的每个MapReduce作业分别执行下述操作:当该MapReduce作业中包含指定操作,且所述指定操作的操作优先级不是最高时,调整所述指定操作的操作优先级,使所述指定操作的操作优先级提前;对所述预处理数据执行所述第二 MapReduce流程,具体包括:对所述预处理数据执行调整后的第二 MapReduce流程。其中,所述指定操作为:选择操作和过滤操作;则调整所述指定操作的操作优先级,具体包括:按照所述过滤操作调整后的操作优先级最高的调整规则,对所述指定操作的操作优先级进行调整。其中,所述指定操作为:选择操作或过滤操作;则调整所述指定操作的操作优先级,具体包括:按照所述选择操作或过滤操作调整后的操作优先级最高的调整规则,对所述指定操作的操作优先级进行调整。本专利技术实施例还提供了一种基于MapReduce的数据处理装置,包括:确定单元,用于确定针对欲处理数据所要执行的第一 MapReduce流程;所述第一MapReduce流程中包含多个MapReduce作业;合并单元,用于将确定单元确定的所述第一 MapReduce流程中满足预先设置的合并规则的MapReduce作业进行合并,得到第二 MapReduce流程;其中,所述合并规则满足:合并前的MapReduce作业的执行结果与合并后的MapReduce作业的执行结果相同;执行单元,用于对所述预处理数据执行合并单元得到的第二 MapReduce流程。其中,所述合并规则,具体包括:仅包含Map操作的MapReduce作业和与其相邻的下一个MapReduce作业合并;包含Map操作和Reduce操作的MapReduce作业和与其相邻的下一个且最多一个仅包含Map操作的MapReduce作业合并。其中,所述合并单元,具体包括:操作确定模块,用于确定所述多个MapReduce作业中的每个MapReduce作业包含的操作;合并操作执行模块,用于根据所述合并规则以及操作确定模块确定出的每个MapReduce作业包含的操作,从所述多个MapReduce作业中的第一个执行的MapReduce作业开始循环执行下述合并操作,直至当前MapReduce作业不存在与其相邻的下一个MapReduce 作业;;所述合并操作包括:判断当前MapReduce作业是否和与其相邻的下一个MapReduce作业合并;若判断结果为是,将当前MapReduce作业和与其相邻的下一个MapReduce作业合并,得到合并后的MapReduce作业;并将合并后的MapReduce作业作为当前MapReduce作业;若判断结果为否,结束此次合并;并将与当前MapReduce作业相邻的下一个MapReduce作业作为当前MapReduce作业。其中,所述装置还包括:调整单元,用于针对合并单元得到的第二 MapReduce流程中的每个MapReduce作业分别执行下述操作:当该MapReduce作业中包含指定操作,且所述指定操作的操作优先级不是最高时,调整所述指定操作的操作优先级,使所述指定操作的操作优先级提前;所述执行单元,具体用于:对所述预处理数据执行调整单元调整后的第二 MapReduce流程。其中,所述指定操作包括:选择操作和过滤操作;则所述调整单元,具体用于:按照所述过滤操作调整后的操作优先级最高的调整规则,对所述指定操作的操作优先级进行调整。其中,所述指定操作为:选择操作或过滤操作;则所述调整单元,具体用于:按照所述选择操作或过滤操作调整后的操作优先级最高的调整规则,对所述指定操作的操作优先级进行调整。本专利技术实施例的有益效果如下:本专利技术实施例中,通过将第一 MapReduce流程中满足预先设置的合并规则的MapReduce作业进行合并,得到第二 MapReduce流程,其中预先设置的合并规则需满足本文档来自技高网...

【技术保护点】
一种基于MapReduce的数据处理方法,其特征在于,包括: 确定针对欲处理数据所要执行的第一MapReduce流程;所述第一MapReduce流程中包含多个MapReduce作业; 将所述第一MapReduce流程中满足预先设置的合并规则的MapReduce作业进行合并,得到第二MapReduce流程;其中,所述合并规则满足:合并前的MapReduce作业的执行结果与合并后的MapReduce作业的执行结果相同; 对所述预处理数据执行所述第二MapReduce流程。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓超熊龙徐萌钱岭孙少陵
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

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

1