CN104077218A - MapReduce分布式系统的测试方法及设备 - Google Patents

MapReduce分布式系统的测试方法及设备 Download PDF

Info

Publication number
CN104077218A
CN104077218A CN201310109307.0A CN201310109307A CN104077218A CN 104077218 A CN104077218 A CN 104077218A CN 201310109307 A CN201310109307 A CN 201310109307A CN 104077218 A CN104077218 A CN 104077218A
Authority
CN
China
Prior art keywords
distributed system
database
interface
test result
mapreduce distributed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310109307.0A
Other languages
English (en)
Other versions
CN104077218B (zh
Inventor
杨斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201310109307.0A priority Critical patent/CN104077218B/zh
Publication of CN104077218A publication Critical patent/CN104077218A/zh
Application granted granted Critical
Publication of CN104077218B publication Critical patent/CN104077218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种MapReduce分布式系统的测试方法及设备。本发明实施例通过获取待测试的MapReduce分布式系统的作业类型和接口类型,进而根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例,使得能够利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果,由于采用与MapReduce分布式系统的作业类型和接口类型对应的测试用例进行性能测试,因此,可以全面地对MapReduce分布式系统的性能进行基准测试,从而提高了测试的可靠性和全面性。

Description

MapReduce分布式系统的测试方法及设备
【技术领域】
本发明涉及通信技术,尤其涉及一种MapReduce分布式系统的测试方法及设备。
【背景技术】
近年来,随着宽带网络技术与并行计算理论的快速发展,一种更简化的分布式系统即映射和汇总(MapReduce)分布式系统应运而生,以为多种应用提供服务,例如,为搜索引擎提供服务。在MapReduce分布式系统,例如,Hadoop系统,中,一个数据处理过程称为一个作业(Job),Job提交之后,将待处理数据分为N份,每份待处理数据由一个映射(Map)任务进行处理,Map任务运行在该MapReduce分布式系统中的一个节点设备上,一个节点设备上可以运行一个或多个Map任务;所有Map任务的输出结果由汇总(Reduce)任务进行汇总,输出对应的结果。其中,Hadoop是阿帕奇软件基金下的一个开源项目。
为了评估MapReduce分布式系统的优劣,可以对MapReduce分布式系统的性能进行测试。然而,现有的测试方法中,对MapReduce分布式系统的性能测试得比较片面,从而导致了测试的可靠性和全面性的降低。
【发明内容】
本发明的多个方面提供一种MapReduce分布式系统的测试方法及设备,用以提高测试的可靠性和全面性。
本发明的一方面,提供一种MapReduce分布式系统的测试方法,包括:
获取待测试的MapReduce分布式系统的作业类型和接口类型;
根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例;
利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用生成的输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果之前,还包括:
接收用户输入的输入数据量;
根据所述输入数据量,生成所述输入数据集。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果之后,还包括:
将所述测试结果写入第一数据库,所述第一数据库为一维数据库。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述将所述测试结果写入第一数据库之后,还包括:
根据输出参数,将所述第一数据库中的所述测试结果写入第二数据库,所述第二数据库为多维数据库;
显示所述第二数据库中的所述测试结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果之后,还包括:
根据所述测试结果,对所述MapReduce分布式系统进行性能评估。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述作业类型包括CPU密集型、IO密集型、Map任务CPU密集型、Reduce任务IO密集型、迭代操作CPU密集型、聚类操作IO密集型和指定应用作业中的至少一个。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述接口类型包括Java接口、Streaming接口、Bistreaming接口和HCE接口中的至少一个。
本发明的另一方面,提供一种MapReduce分布式系统的测试设备,包括:
获取单元,用于获取待测试的MapReduce分布式系统的作业类型和接口类型;
确定单元,用于根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例;
测试单元,用于利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述设备还包括输入单元,接收用户输入的输入数据量;
测试单元,还用于根据所述输入数据量,生成所述输入数据集。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述设备还包括存储单元,用于
将所述测试结果写入第一数据库,所述第一数据库为一维数据库。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述设备还包括展示单元,用于
根据输出参数,将所述第一数据库中的所述测试结果写入第二数据库,所述第二数据库为多维数据库;以及显示所述第二数据库中的所述测试结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述设备还包括评估单元,用于
根据所述测试结果,对所述MapReduce分布式系统进行性能评估。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述作业类型包括CPU密集型、IO密集型、Map任务CPU密集型、Reduce任务IO密集型、迭代操作CPU密集型、聚类操作IO密集型和指定应用作业中的至少一个。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述接口类型包括Java接口、Streaming接口、Bistreaming接口和HCE接口中的至少一个。
由上述技术方案可知,本发明实施例通过获取待测试的MapReduce分布式系统的作业类型和接口类型,进而根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例,使得能够利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果,由于采用与MapReduce分布式系统的作业类型和接口类型对应的测试用例进行性能测试,因此,可以全面地对MapReduce分布式系统的性能进行基准测试,从而提高了测试的可靠性和全面性。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的MapReduce分布式系统的测试方法的流程示意图;
图2为图1对应的实施例中所显示的测试结果的一可视示意图;
图3为图1对应的实施例中所显示的测试结果的另一可视示意图;
图4为本发明另一实施例提供的MapReduce分布式系统的测试设备的结构示意图;
图5为本发明另一实施例提供的MapReduce分布式系统的测试设备的结构示意图;
图6为本发明另一实施例提供的MapReduce分布式系统的测试设备的结构示意图;
图7为本发明另一实施例提供的MapReduce分布式系统的测试设备的结构示意图;
图8为本发明另一实施例提供的MapReduce分布式系统的测试设备的结构示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明一实施例提供的MapReduce分布式系统的测试方法的流程示意图。
101、获取待测试的MapReduce分布式系统的作业类型和接口类型。
102、根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例。
103、利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果。
需要说明的是,101~103的执行主体可以是一测试设备。
这样,通过获取待测试的MapReduce分布式系统的作业类型和接口类型,进而根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例,使得能够利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果,由于采用与MapReduce分布式系统的作业类型和接口类型对应的测试用例进行性能测试,因此,可以全面地对MapReduce分布式系统的性能进行基准测试,从而提高了测试的可靠性和全面性。
可选地,在本实施例的一个可能的实现方式中,在102之前,测试设备还可以进一步配置作业类型、接口类型与测试用例的对应关系,以供该测试设备执行102。其中,所述作业类型、接口类型与测试用例的对应关系可以如表1所示。
表1作业类型、接口类型与测试用例的对应关系
可以理解的是,全部的测试用例可以组成一个基准测试集(benchmark),该基准测试集同时应该具有专用性和通用性,用于对MapReduce分布式系统的性能进行全面地测试,以评估MapReduce分布式系统的优劣。
其中,所述作业类型可以包括但不限于中央处理单元(Central ProcessingUnit,CPU)密集型、输入输出(Input and Output,IO)密集型、Map任务CPU密集型、Reduce任务IO密集型、迭代操作CPU密集型、聚类操作IO密集型和指定应用作业中的至少一个,本实施例对此不进行限定。
其中,所述接口类型包括Java接口、文本处理(Streaming)接口、二进制文本处理(Bistreaming)接口和HCE(Hadoop C++Extension)接口中的至少一个,本实施例对此不进行限定。
例如,如果作业类型为CPU密集型,那么,对应的测试用例可以为词频统计(WordCount)计算模型,而且,不同的接口类型则可以对应不同实现版本的WordCount计算模型。该测试用例简单,但不失通用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,如果作业类型为IO密集型,那么,对应的测试用例可以为排序(Sort)计算模型,而且,不同的接口类型则可以对应不同实现版本的Sort计算模型。该测试用例简单,但不失通用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,如果作业类型为Map任务CPU密集型或Reduce任务IO密集型,那么,对应的测试用例可以为分桶排序(TeraSort)计算模型,而且,不同的接口类型则可以对应不同实现版本的TeraSort计算模型。该测试用例已经是一个被广泛接受的小规模(micro)benchmark,因此具有通用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,如果作业类型为迭代操作CPU密集型或聚类操作IO密集型,那么,对应的测试用例可以为K-均值聚类(K-Means Clustering)计算模型,而且,不同的接口类型则可以对应不同实现版本的K-Means Clustering计算模型。该测试用例可以代表hadoop的一个很大的应用场景即机器学习,具有专用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,如果作业类型为指定应用作业,例如,建立搜索库流程或广告推荐流程等,那么,对应的测试用例可以为专用计算模型,而且,不同的接口类型则可以对应不同实现版本的专用计算模型。该测试用例具有专用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,在103之前,测试设备还可以进一步接收用户输入的输入数据量,例如,小数据量(small)或大数据量(big)等。然后,所述测试设备则可以根据所述输入数据量,生成所述输入数据集。
可选地,在本实施例的一个可能的实现方式中,在103之后,测试设备还可以进一步将所述测试结果写入第一数据库,所述第一数据库为一维数据库。这样,能够及时将测试结果进行存储,以供进行后续操作,从而进一步提高了数据处理的及时性和有效性。
进一步地,在所述测试设备将所述测试结果写入第一数据库之后,所述测试设备还可以进一步根据输出参数,将所述第一数据库中的所述测试结果写入第二数据库,所述第二数据库为多维数据库。然后,所述测试设备则可以显示所述第二数据库中的所述测试结果。例如,所述第二数据库中的所述测试结果可以如表2所示。
表2第二数据库中的测试结果
具体地,所述测试设备具体可以根据用户定义的可视化效果图的类型,以及用户输入的输出参数,对所述第二数据库中的所述测试结果进行可视化显示。例如,固定某些维度数据,如固定版本号、CPU型号、节点设备数量等维度数据,对所述第二数据库中的所述测试结果进行数据挖掘,然后,再进一步根据用户定义的可视化效果图的类型,以及用户输入的输出参数(即在可视化效果图中展示的参数),对所述第二数据库中的所述测试结果进行可视化显示。
具体地,将一维数据库中的所述测试结果写入多维数据库,可以由开源的联机分析处理(On-Line Analytical Processing,OLAP)引擎完成。OLAP引擎可以由用户通过可扩展标记语言(Extentsible Markup Language,XML)文件的形式定义结构(Schema),即通过一定的规则确立一维数据向多维数据的映射关系,支持常见的星型模型与雪花模型两种经典数据模型,而对数据的选取一律采用多维表达式(MultiDimensionaleXpressions,MDX)语句。这样,针对不同的数据可以定义不同的Schema,自由度较高;针对新增加的数据,只需要添加相应的Schema即可,代码改动较少,具有一定的扩展性。
另外,所述测试设备还可以进一步在OLAP引擎的数据访问接口上增加一层图形界面包装,用户不需要掌握MDX语句,该测试设备会自动将用户输入转换为相应的MDX语句,操作简单,从而能够进一步提高测试效率。
例如,如图2所示,图2为线状示意图,假设固定CPU型号,输出参数为版本号、线程数量(thread quantity)和每个测试用例的执行时间;或者,再例如,如图3所示,图3为柱状示意图中,假设固定CPU型号,输出参数为版本号、线程数量(thread quantity)和每个测试用例的执行时间。
这样,通过测试设备所显示的可视化效果图,测试人员能够很直观地比较不同实现版本的测试用例的执行时间,从而可以全面地评估各个接口的性能,或者还可以进行CPU调优。
可选地,所述测试设备所显示的可视化效果图还可以进一步展示更多的相关输出参数,例如,服务器型号、指令集等。这样,通过测试设备所显示的可视化效果图,测试人员能够进行服务器选型,或者还可以进行指令集调优等一系列优化操作。
可选地,在本实施例的一个可能的实现方式中,在103之后,测试设备还可以进一步根据所述测试结果,对所述MapReduce分布式系统进行性能评估。具体地,所述测试设备具体可以根据所述第一数据库中的一维数据即测试结果,对所述MapReduce分布式系统进行性能评估;或者还可以根据所述第二数据库中的多维数据即测试结果,对所述MapReduce分布式系统进行性能评估。
本实施例中,通过获取待测试的MapReduce分布式系统的作业类型和接口类型,进而根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例,使得能够利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果,由于采用与MapReduce分布式系统的作业类型和接口类型对应的测试用例进行性能测试,因此,可以全面地对MapReduce分布式系统的性能进行基准测试,从而提高了测试的可靠性和全面性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图4为本发明另一实施例提供的MapReduce分布式系统的测试设备的结构示意图。本实施例提供的MapReduce分布式系统的测试设备可以包括获取单元41、确定单元42和测试单元43。其中,获取单元41,用于获取待测试的MapReduce分布式系统的作业类型和接口类型;确定单元42,用于根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例;测试单元43,用于利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果。
这样,通过获取单元获取待测试的MapReduce分布式系统的作业类型和接口类型,进而由确定单元根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例,使得测试单元能够利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果,由于采用与MapReduce分布式系统的作业类型和接口类型对应的测试用例进行性能测试,因此,可以全面地对MapReduce分布式系统的性能进行基准测试,从而提高了测试的可靠性和全面性。
可选地,在本实施例的一个可能的实现方式中,本实施例提供的MapReduce分布式系统的测试设备还可以进一步配置作业类型、接口类型与测试用例的对应关系,以供确定单元42执行对应的操作。其中,所述作业类型、接口类型与测试用例的对应关系可以如表1所示。
可以理解的是,全部的测试用例可以组成一个基准测试集(benchmark),该基准测试集同时应该具有专用性和通用性,用于对MapReduce分布式系统的性能进行全面地测试,以评估MapReduce分布式系统的优劣。
其中,所述作业类型可以包括但不限于中央处理单元(Central ProcessingUnit,CPU)密集型、输入输出(Input and Output,IO)密集型、Map任务CPU密集型、Reduce任务IO密集型、迭代操作CPU密集型、聚类操作IO密集型和指定应用作业中的至少一个,本实施例对此不进行限定。
其中,所述接口类型包括Java接口、文本处理(Streaming)接口、二进制文本处理(Bistreaming)接口和HCE(Hadoop C++Extension)接口中的至少一个,本实施例对此不进行限定。
例如,如果作业类型为CPU密集型,那么,对应的测试用例可以为词频统计(WordCount)计算模型,而且,不同的接口类型则可以对应不同实现版本的WordCount计算模型。该测试用例简单,但不失通用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,如果作业类型为IO密集型,那么,对应的测试用例可以为排序(Sort)计算模型,而且,不同的接口类型则可以对应不同实现版本的Sort计算模型。该测试用例简单,但不失通用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,如果作业类型为Map任务CPU密集型或Reduce任务IO密集型,那么,对应的测试用例可以为分桶排序(TeraSort)计算模型,而且,不同的接口类型则可以对应不同实现版本的TeraSort计算模型。该测试用例已经是一个被广泛接受的小规模(micro)benchmark,因此具有通用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,如果作业类型为迭代操作CPU密集型或聚类操作IO密集型,那么,对应的测试用例可以为K-均值聚类(K-Means Clustering)计算模型,而且,不同的接口类型则可以对应不同实现版本的K-Means Clustering计算模型。该测试用例可以代表hadoop的一个很大的应用场景即机器学习,具有专用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
或者,再例如,如果作业类型为指定应用作业,例如,建立搜索库流程或广告推荐流程等,那么,对应的测试用例可以为专用计算模型,而且,不同的接口类型则可以对应不同实现版本的专用计算模型。该测试用例具有专用性,详细描述可以参见现有技术中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,如图5所示,本实施例提供的MapReduce分布式系统的测试设备还可以进一步包括输入单元51,接收用户输入的输入数据量,例如,小数据量(small)或大数据量(big)等。相应地,测试单元43,还可以进一步用于根据所述输入数据量,生成所述输入数据集。
可选地,在本实施例的一个可能的实现方式中,如图6所示,本实施例提供的MapReduce分布式系统的测试设备还可以进一步包括存储单元61,用于将所述测试结果写入第一数据库,所述第一数据库为一维数据库。这样,能够及时将测试结果进行存储,以供进行后续操作,从而进一步提高了数据处理的及时性和有效性。
进一步地,在本实施例的一个可能的实现方式中,如图7所示,本实施例提供的MapReduce分布式系统的测试设备还可以进一步包括展示单元71,用于根据输出参数,将所述第一数据库中的所述测试结果写入第二数据库,所述第二数据库为多维数据库;以及显示所述第二数据库中的所述测试结果。例如,所述第二数据库中的所述测试结果可以如表2所示。
具体地,所述展示单元71具体可以根据用户定义的可视化效果图的类型,以及用户输入的输出参数,对所述第二数据库中的所述测试结果进行可视化显示。例如,固定某些维度数据,如固定版本号、CPU型号、节点设备数量等维度数据,所述展示单元71对所述第二数据库中的所述测试结果进行数据挖掘,然后,所述展示单元71再进一步根据用户定义的可视化效果图的类型,以及用户输入的输出参数(即在可视化效果图中展示的参数),对所述第二数据库中的所述测试结果进行可视化显示。
具体地,所述展示单元71将一维数据库中的所述测试结果写入多维数据库,可以由开源的联机分析处理(On-Line Analytical Processing,OLAP)引擎完成。OLAP引擎可以由用户通过可扩展标记语言(Extentsible MarkupLanguage,XML)文件的形式定义结构(Schema),即通过一定的规则确立一维数据向多维数据的映射关系,支持常见的星型模型与雪花模型两种经典数据模型,而对数据的选取一律采用多维表达式(MultiDimensionaleXpressions,MDX)语句。这样,针对不同的数据可以定义不同的Schema,自由度较高;针对新增加的数据,只需要添加相应的Schema即可,代码改动较少,具有一定的扩展性。
另外,所述测试设备还可以进一步在OLAP引擎的数据访问接口上增加一层图形界面包装,用户不需要掌握MDX语句,该测试设备会自动将用户输入转换为相应的MDX语句,操作简单,从而能够进一步提高测试效率。
例如,如图2所示,图2为线状示意图,假设固定CPU型号,输出参数为版本号、线程数量(thread quantity)和每个测试用例的执行时间;或者,再例如,如图3所示,图3为柱状示意图中,假设固定CPU型号,输出参数为版本号、线程数量(thread quantity)和每个测试用例的执行时间。
这样,通过展示单元71所显示的可视化效果图,测试人员能够很直观地比较不同实现版本的测试用例的执行时间,从而可以全面地评估各个接口的性能,或者还可以进行CPU调优。
可选地,所述展示单元71所显示的可视化效果图还可以进一步展示更多的相关输出参数,例如,服务器型号、指令集等。这样,通过测试设备所显示的可视化效果图,测试人员能够进行服务器选型,或者还可以进行指令集调优等一系列优化操作。
进一步地,在本实施例的一个可能的实现方式中,如图8所示,本实施例提供的MapReduce分布式系统的测试设备还可以进一步包括评估单元81,用于根据所述测试结果,对所述MapReduce分布式系统进行性能评估。具体地,所述评估单元81具体可以根据所述第一数据库中的一维数据即测试结果,对所述MapReduce分布式系统进行性能评估;或者还可以根据所述第二数据库中的多维数据即测试结果,对所述MapReduce分布式系统进行性能评估。
本实施例中,通过获取单元获取待测试的MapReduce分布式系统的作业类型和接口类型,进而由确定单元根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例,使得测试单元能够利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果,由于采用与MapReduce分布式系统的作业类型和接口类型对应的测试用例进行性能测试,因此,可以全面地对MapReduce分布式系统的性能进行基准测试,从而提高了测试的可靠性和全面性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种MapReduce分布式系统的测试方法,其特征在于,包括:
获取待测试的MapReduce分布式系统的作业类型和接口类型;
根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例;
利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果。
2.根据权利要求1所述的方法,其特征在于,所述利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果之前,还包括:
接收用户输入的输入数据量;
根据所述输入数据量,生成所述输入数据集。
3.根据权利要求1或2所述的方法,其特征在于,所述利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果之后,还包括:
将所述测试结果写入第一数据库,所述第一数据库为一维数据库。
4.根据权利要求3所述的方法,其特征在于,所述将所述测试结果写入第一数据库之后,还包括:
根据输出参数,将所述第一数据库中的所述测试结果写入第二数据库,所述第二数据库为多维数据库;
显示所述第二数据库中的所述测试结果。
5.根据权利要求1~4任一权利要求所述的方法,其特征在于,所述利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果之后,还包括:
根据所述测试结果,对所述MapReduce分布式系统进行性能评估。
6.根据权利要求1~5任一权利要求所述的方法,其特征在于,所述作业类型包括CPU密集型、IO密集型、Map任务CPU密集型、Reduce任务IO密集型、迭代操作CPU密集型、聚类操作IO密集型和指定应用作业中的至少一个。
7.根据权利要求1~6任一权利要求所述的方法,其特征在于,所述接口类型包括Java接口、Streaming接口、Bistreaming接口和HCE接口中的至少一个。
8.一种MapReduce分布式系统的测试设备,其特征在于,包括:
获取单元,用于获取待测试的MapReduce分布式系统的作业类型和接口类型;
确定单元,用于根据预先配置的作业类型、接口类型与测试用例的对应关系,确定与所述作业类型和所述接口类型对应的测试用例;
测试单元,用于利用输入数据集,在所述MapReduce分布式系统上运行所述测试用例,以获得测试结果。
9.根据权利要求8所述的设备,其特征在于,所述设备还包括输入单元,接收用户输入的输入数据量;
测试单元,还用于根据所述输入数据量,生成所述输入数据集。
10.根据权利要求8或9所述的设备,其特征在于,所述设备还包括存储单元,用于
将所述测试结果写入第一数据库,所述第一数据库为一维数据库。
11.根据权利要求10所述的设备,其特征在于,所述设备还包括展示单元,用于
根据输出参数,将所述第一数据库中的所述测试结果写入第二数据库,所述第二数据库为多维数据库;以及显示所述第二数据库中的所述测试结果。
12.根据权利要求8~11任一权利要求所述的设备,其特征在于,所述设备还包括评估单元,用于
根据所述测试结果,对所述MapReduce分布式系统进行性能评估。
13.根据权利要求8~12任一权利要求所述的设备,其特征在于,所述作业类型包括CPU密集型、IO密集型、Map任务CPU密集型、Reduce任务IO密集型、迭代操作CPU密集型、聚类操作IO密集型和指定应用作业中的至少一个。
14.根据权利要求8~13任一权利要求所述的设备,其特征在于,所述接口类型包括Java接口、Streaming接口、Bistreaming接口和HCE接口中的至少一个。
CN201310109307.0A 2013-03-29 2013-03-29 MapReduce分布式系统的测试方法及设备 Active CN104077218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310109307.0A CN104077218B (zh) 2013-03-29 2013-03-29 MapReduce分布式系统的测试方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310109307.0A CN104077218B (zh) 2013-03-29 2013-03-29 MapReduce分布式系统的测试方法及设备

Publications (2)

Publication Number Publication Date
CN104077218A true CN104077218A (zh) 2014-10-01
CN104077218B CN104077218B (zh) 2018-12-14

Family

ID=51598486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310109307.0A Active CN104077218B (zh) 2013-03-29 2013-03-29 MapReduce分布式系统的测试方法及设备

Country Status (1)

Country Link
CN (1) CN104077218B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360951A (zh) * 2014-12-09 2015-02-18 迈普通信技术股份有限公司 一种脚本测试方法和装置
CN104809063A (zh) * 2015-04-24 2015-07-29 百度在线网络技术(北京)有限公司 分布式系统的测试方法及装置
CN105373409A (zh) * 2015-12-09 2016-03-02 上海斐讯数据通信技术有限公司 基于Hadoop的测试用例分布式测试方法及系统
CN105740604A (zh) * 2016-01-22 2016-07-06 湖南大学 基于冗余距离消除和极端点优化的并行k-means聚类方法
CN105912457A (zh) * 2015-12-08 2016-08-31 乐视网信息技术(北京)股份有限公司 测试服务器、测试客户端、测试系统和测试方法
WO2017157203A1 (zh) * 2016-03-18 2017-09-21 阿里巴巴集团控股有限公司 一种分布式环境下监督学习算法的基准测试方法和装置
CN107609026A (zh) * 2017-08-09 2018-01-19 中南大学 一种数据密集型应用集成测试方法及系统
CN107992401A (zh) * 2017-11-29 2018-05-04 平安科技(深圳)有限公司 性能测试评价方法、装置、终端设备及存储介质
CN109634789A (zh) * 2018-11-20 2019-04-16 锐捷网络股份有限公司 基于数据中心的Full Mesh性能测试方法及装置
CN110162466A (zh) * 2019-04-19 2019-08-23 平安国际智慧城市科技股份有限公司 自动测试方法、装置、计算机设备和存储介质
CN110177006A (zh) * 2019-04-16 2019-08-27 平安普惠企业管理有限公司 基于接口预测模型的节点测试方法及装置
CN111400162A (zh) * 2019-01-02 2020-07-10 阿里巴巴集团控股有限公司 一种测试方法及测试系统
CN111931082A (zh) * 2020-07-27 2020-11-13 重庆锐云科技有限公司 一种基于分布式集群的大规模数据排序方法及系统
CN112181803A (zh) * 2020-08-27 2021-01-05 五八到家有限公司 数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089560A1 (en) * 2007-10-01 2009-04-02 Accenture Organization Infrastructure for parallel programming of clusters of machines
CN101799748A (zh) * 2009-02-06 2010-08-11 中国移动通信集团公司 一种确定数据样本类别的方法及其系统
CN102841846A (zh) * 2012-08-27 2012-12-26 北京邮电大学 一种基于Hadoop的软件测试方法、装置和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089560A1 (en) * 2007-10-01 2009-04-02 Accenture Organization Infrastructure for parallel programming of clusters of machines
CN101799748A (zh) * 2009-02-06 2010-08-11 中国移动通信集团公司 一种确定数据样本类别的方法及其系统
CN102841846A (zh) * 2012-08-27 2012-12-26 北京邮电大学 一种基于Hadoop的软件测试方法、装置和系统

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360951B (zh) * 2014-12-09 2017-09-29 迈普通信技术股份有限公司 一种脚本测试方法和装置
CN104360951A (zh) * 2014-12-09 2015-02-18 迈普通信技术股份有限公司 一种脚本测试方法和装置
CN104809063A (zh) * 2015-04-24 2015-07-29 百度在线网络技术(北京)有限公司 分布式系统的测试方法及装置
CN105912457A (zh) * 2015-12-08 2016-08-31 乐视网信息技术(北京)股份有限公司 测试服务器、测试客户端、测试系统和测试方法
CN105373409A (zh) * 2015-12-09 2016-03-02 上海斐讯数据通信技术有限公司 基于Hadoop的测试用例分布式测试方法及系统
CN105373409B (zh) * 2015-12-09 2018-09-28 上海斐讯数据通信技术有限公司 基于Hadoop的测试用例分布式测试方法及系统
CN105740604A (zh) * 2016-01-22 2016-07-06 湖南大学 基于冗余距离消除和极端点优化的并行k-means聚类方法
WO2017157203A1 (zh) * 2016-03-18 2017-09-21 阿里巴巴集团控股有限公司 一种分布式环境下监督学习算法的基准测试方法和装置
CN107203467A (zh) * 2016-03-18 2017-09-26 阿里巴巴集团控股有限公司 一种分布式环境下监督学习算法的基准测试方法和装置
TWI742040B (zh) * 2016-03-18 2021-10-11 香港商阿里巴巴集團服務有限公司 分布式環境下監督學習算法的基準測試方法和裝置
CN107609026A (zh) * 2017-08-09 2018-01-19 中南大学 一种数据密集型应用集成测试方法及系统
CN107609026B (zh) * 2017-08-09 2020-11-06 中南大学 一种数据密集型应用集成测试方法及系统
CN107992401A (zh) * 2017-11-29 2018-05-04 平安科技(深圳)有限公司 性能测试评价方法、装置、终端设备及存储介质
CN107992401B (zh) * 2017-11-29 2020-08-14 平安科技(深圳)有限公司 性能测试评价方法、装置、终端设备及存储介质
CN109634789A (zh) * 2018-11-20 2019-04-16 锐捷网络股份有限公司 基于数据中心的Full Mesh性能测试方法及装置
CN109634789B (zh) * 2018-11-20 2022-06-21 锐捷网络股份有限公司 基于数据中心的Full Mesh性能测试方法及装置
CN111400162A (zh) * 2019-01-02 2020-07-10 阿里巴巴集团控股有限公司 一种测试方法及测试系统
CN111400162B (zh) * 2019-01-02 2023-04-25 阿里巴巴集团控股有限公司 一种测试方法及测试系统
CN110177006A (zh) * 2019-04-16 2019-08-27 平安普惠企业管理有限公司 基于接口预测模型的节点测试方法及装置
CN110177006B (zh) * 2019-04-16 2022-12-30 平安普惠企业管理有限公司 基于接口预测模型的节点测试方法及装置
CN110162466A (zh) * 2019-04-19 2019-08-23 平安国际智慧城市科技股份有限公司 自动测试方法、装置、计算机设备和存储介质
CN111931082A (zh) * 2020-07-27 2020-11-13 重庆锐云科技有限公司 一种基于分布式集群的大规模数据排序方法及系统
CN111931082B (zh) * 2020-07-27 2023-06-06 重庆锐云科技有限公司 一种基于分布式集群的大规模数据排序方法及系统
CN112181803A (zh) * 2020-08-27 2021-01-05 五八到家有限公司 数据处理方法及装置
CN112181803B (zh) * 2020-08-27 2024-01-30 五八到家有限公司 数据处理方法及装置

Also Published As

Publication number Publication date
CN104077218B (zh) 2018-12-14

Similar Documents

Publication Publication Date Title
CN104077218A (zh) MapReduce分布式系统的测试方法及设备
US11734315B2 (en) Method and system for implementing efficient classification and exploration of data
US10346292B2 (en) Software component recommendation based on multiple trace runs
US10509804B2 (en) Method and apparatus for storing sparse graph data as multi-dimensional cluster
EP2909750B1 (en) Specifying and applying rules to data
Peng et al. Dataprep. eda: Task-centric exploratory data analysis for statistical modeling in python
AU2017327823B2 (en) Test case generator built into data-integration workflow editor
US20180181877A1 (en) Generating a knowledge base to assist with the modeling of large datasets
US9043337B1 (en) Data mining and model generation using an in-database analytic flow generator
US8725461B2 (en) Inferring effects of configuration on performance
Ferenc et al. Challenging machine learning algorithms in predicting vulnerable javascript functions
US11789913B2 (en) Integration of model execution engine containers with a model development environment
NezhadShokouhi et al. Software defect prediction using over-sampling and feature extraction based on Mahalanobis distance
CN105302730A (zh) 一种检测计算模型的方法、测试服务器及业务平台
US20130318499A1 (en) Test script generation
EP3210171B1 (en) Specifying and applying rules to data
Joshi Analyzing big data tools and deployment platforms
Poggi et al. From performance profiling to predictive analytics while evaluating hadoop cost-efficiency in aloja
US10649743B2 (en) Application developing method and system
US11455287B1 (en) Systems and methods for analysis of data at disparate data sources
US20220188105A1 (en) Compressing multi-attribute vector into a single eigenvalue for ranking subject matter experts
Rahman et al. Leam: An interactive system for in-situ visual text analysis
Huang et al. A web interface for XALT log data analysis
US20190294534A1 (en) Program usability performance classification
Shealy Intelligent Resource Prediction for HPC and Scientific Workflows

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant