MapReduce作业执行时间预测方法技术

技术编号:8532686 阅读:772 留言:0更新日期:2013-04-04 15:36
本发明专利技术提供一种Map?Reduce作业执行时间预测方法,包括对输入虚拟系统的Map?Reduce作业进行监测,获取Map?Reduce作业输入映射Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信息、在Map函数中以及在Reduce函数中的实际执行时间;根据输入Map函数的参数信息、输出Map函数的参数信息以及在Map函数中的实际执行时间,获得Map任务执行时间预测值;根据输出Map函数的参数信息、输出Reduce函数的参数信息以及在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值;根据Map任务执行时间预测值和Reduce任务执行时间预测值,获得MapReduce作业执行时间的预测值。针对执行Map任务时和执行Reduce任务时的执行时间进行预测,有效地提高了预测的准确率。

【技术实现步骤摘要】

本专利技术涉及计算机技术,尤其涉及一种。
技术介绍
随着数据密集型计算的迅速发展,国内外互联网公司的核心业务越来越多地需要通过大规模数据处理进行支持。在需要对海量数据进行处理的应用场景下,开源实现的分布式系统基础架构(Hadoop)得到了快速的发展。在Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)之上,进一步地实现了映射化简(MapReduce)框架。目前Hadoop平台的MapReduce系统,对作业的执行一般包括执行映射任务(Map Task)和化简任务(Reduce Task)两个阶段。对于MapReduce 系统中作业的执行时间的预测,可以用来支持高效的调度策略,还可以作为对执行作业过程进行优化的依据。但是,现有技术中对MapReduce系统中作业的执行 时间进行预测时,将整个 MapReduce系统作为黑盒进行考虑,因此,目前对MapReduce系统中作业的执行时间进行预测的方法,存在准确率较低的问题。
技术实现思路
本专利技术提供一种,用于解决在对MapReduce作业的执行时间进行预测时,准确率较低的问题。本专利技术的第一个方面是提供一种,包括对输入虚拟系统的MapReduce作业进行监测,获取所述MapReduce作业输入映射 Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信息、在Map 函数中的实际执行时间以及在Reduce函数中的实际执行时间;根据所述输入Map函数的参数信息、所述输出Map函数的参数信息以及所述在Map 函数中的实际执行时间,获得Map任务执行时间预测值;根据所述输出Map函数的参数信息、所述输出Reduce函数的参数信息以及所述在 Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值;根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述 MapReduce作业执行时间的预测值。本专利技术实施例提供的,针对MapReduce作业运行的具体过程,分别针对执行Map任务时的执行时间和执行Reduce任务时的执行时间进行预测,有效地提高了对MapReduce作业执行时间预测的准确率,由于提供了 MapReduce作业在各阶段中的执行时间,有利于为用户提供合理分配系统资源的参考,以便合理地安排各MapReduce作业执彳丁顺序,有利于提闻MapReduce系统的吞吐量,提闻系统资源的使用效率。附图说明图1为本专利技术实施例提供的的流程图。具体实施方式MapReduce系统通过执行Map函数和Reduce函数,处理海量数据。Map任务和 Reduce任务均可以在小型计算机上执行,从而通过多台小型计算机组成的计算机集群组成 Hadoop平台,搭建MapReduce系统,完成对海量数据的处理。对于海量数据的处理任务而言,Hadoop平台的系统资源有限,一个Hadoop平台的 系统资源通常由多个用户的多个MapReduce作业所共享,因此需要通过对MapReduce作业 的执行时间进行有效的预测,从而为各MapReduce作业合理地分配系统资源和作业的执行 顺序,以便提高整个Hadoop平台的吞吐量以及对系统资源的使用效率。图1为本专利技术实施例提供的的流程图,如图1 所示,该方法包括步骤101、对输入虚拟系统的MapReduce作业进行监测,获取所述MapReduce作业 输入映射Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信 息、在Map函数中的实际执行时间以及在Reduce函数中的实际执行时间。具体的,作业分析器可以为独立的设备或模块,也可以为设置在实际MapReduce 系统中的模块或单元。作业分析器中设置有虚拟系统,通过虚拟系统实现MapReduce系 统的功能,对MapReduce作业进行处理。在对MapReduce作业进行处理的过程中,监测 MapReduce作业输入Map函数的参数信息、输出Map函数的参数信息、输出Reduce函数的参 数信息以及在Map函数中的实际执行时间和在Reduce函数中的实际执行时间。由于作业分析器的主要工作是对MapReduce作业的执行时间进行预测,而预测的 前提是需要在作业分析器中对MapReduce作业进行运行,因此,为了能够提高对MapReduce 作业运行的效率,更快速地预测出MapReduce作业的执行时间,本专利技术实施例中还包括一 种可选的实现方式,在所述对输入虚拟系统的MapReduce作业进行监测之前,根据预设的 采样率,对所述MapReduce作业进行采样,获得采样后的MapReduce作业;相应地,对所述采 样后的MapReduce作业进行监测。具体的,由于对MapReduce作业进行采样,是为了提高对执行时间的预测效率,因 此,若将采样率设置的过高,则在采样过程中以及在对采样得到的大量数据进行处理时,均 将消耗较多的系统资源。而大部分的MapReduce作业中的数据在格式上具有较高的相似 性,一个MapReduce作业由若干行的数据组成,在本专利技术实施例中将MapReduce作业的行数 称为记录数,将MapReduce作业的字节数称为数据量。基于MapReduce作业这样的特点,即 使采用较低的采样率,仍能够保证反映出MapReduce作业的整体情况。其中,作业分析器监测到的所述输入Map函数的参数信息可以包括输入Map函数 的数据量;所述输出Map函数的参数信息可以包括输出Map函数的数据量和输出Map函数 的记录数;所述输出Reduce函数的参数信息可以包括输出Reduce函数的数据量。在作业分析器对输入的MapReduce作业进行采样的情况下,输入Map函数的数据 量为采样后输入Map函数的数据量除以采样率所得到的数值,即根据采样后的较少的数据 样本,推导出采样前的数据量,用于反映MapReduce作业的整体情况;输出Map函数的记录数为采样后输出Map函数的记录数除以采样率所到的数值,即根据采样后较少的记录数, 推导出采样前的记录数,用于反映MapReduce作业的整体情况;输出Map函数的数据量为 采样后输出Map函数的数据量与采样后输入Map函数的数据量的比值,再与输入Map函数 的数据量的乘积,通过采样后的数据经过Map函数执行前后的数据量的比值,和采样前的 输入Map函数的数据量,推导出MapReduce作业整体经过Map函数执行后的数据量,即输出 Map函数的数据量。输出Reduce函数的数据量为采样后输出Reduce函数的数据量与采样后输入 Reduce函数的数据量的比值,再与输入Reduce函数的数据量的乘积。通过采样后的数据 经过Reduce函数执行前后的数据量的比值,和采样前的输入Reduce函数的数据量,推导出 MapReduce作业整体经过Reduce函数执行后的数据量,即输出Reduce函数的数据量。其 中,输入Reduce函数的数据量即为输出Map函数的数据量。作业分析器监测数据在Map函数中执行前的时间点和在Map函数中执行完成的时 间点,从而能够计算出数据在Map函数中实际执行的时间,即在Map函数中的实际执行时 间。同理,作业本文档来自技高网...

【技术保护点】
一种映射化简MapReduce作业执行时间预测方法,其特征在于,包括:对输入虚拟系统的MapReduce作业进行监测,获取所述MapReduce作业输入映射Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信息、在Map函数中的实际执行时间以及在Reduce函数中的实际执行时间;根据所述输入Map函数的参数信息、所述输出Map函数的参数信息以及所述在Map函数中的实际执行时间,获得Map任务执行时间预测值;根据所述输出Map函数的参数信息、所述输出Reduce函数的参数信息以及所述在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值;根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值。

【技术特征摘要】
1.一种映射化简MapReduce作业执行时间预测方法,其特征在于,包括 对输入虚拟系统的MapReduce作业进行监测,获取所述MapReduce作业输入映射Map函数的参数信息,输出Map函数的参数信息和输出化简Reduce函数的参数信息、在Map函数中的实际执行时间以及在Reduce函数中的实际执行时间; 根据所述输入Map函数的参数信息、所述输出Map函数的参数信息以及所述在Map函数中的实际执行时间,获得Map任务执行时间预测值; 根据所述输出Map函数的参数信息、所述输出Reduce函数的参数信息以及所述在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值; 根据所述Map任务执行时间预测值和所述Reduce任务执行时间预测值,获得所述MapReduce作业执行时间的预测值。2.根据权利要求1所述的MapReduce作业执行时间预测方法,其特征在于,所述输入Map函数的参数信息包括输入Map函数的数据量;所述输出Map函数的参数信息包括输出Map函数的数据量和输出Map函数的记录数;所述输出Reduce函数的参数信息包括输出Reduce函数的数据量。3.根据权利要求2所述的MapReduce作业执行时间预测方法,其特征在于,所述根据所述输入Map函数的参数信息、所述输出Map函数的参数信息以及所述在Map函数中的实际执行时间,获得Map任务执行时间预测值具体为 利用所述输入Map函数的数据量除以磁盘顺序读的速率,获得读入Map函数的时间;利用所述在Map函数中的实际执行时间除以标准作业在所述虚拟系统的Map函数中的实际执行时间,获得Map函数的计算复杂度,所述标准作业是与所述MapReduce作业对应的; 利用所述Map函数的计算复杂度乘以所述标准作业在实际系统的Map函数中的实际执行时间,获得执行Map函数的时间;利用所述输出Map函数的记录数乘以对所述输出Map函数的记录数进行对数运算后的数值,再乘以排序比例系数,获得Map函数的排序时间,所述排序比例系数为预设数值;利用所述输出Map函数的数据量除以磁盘顺序写的速率,获得输出Map函数的时间;根据Map函数的初始化时间、所述读入Map函数的时间、所述执行Map函数的时间、所述Map函数的排序时间和所述输出Map函数的时间,获得所述Map任务执行时间预测值。4.根据权利要求2所述的MapReduce作业执行时间预测方法,其特征在于,所述根据所述输出Map函数的参数信息、所述输出Reduce函数的参数信息以及所述在Reduce函数中的实际执行时间,获得Reduce任务执行时间预测值具体为 利用所述输出Map函数的数据量乘以Map任务个数,再除以所述...

【专利技术属性】
技术研发人员:林学练孟子德沃天宇宋鸽随培培
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1