Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何测试hadoop作业性能_Java_Hadoop_Mapreduce - Fatal编程技术网

Java 如何测试hadoop作业性能

Java 如何测试hadoop作业性能,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我已经为ApacheHadoop实现了一个基于SON的频繁项集映射缩减算法。现在我需要测试它的性能,即使用不同的数据集研究它的执行时间是如何变化的,并将其与算法的不同版本进行比较,以选择最佳版本 因此,我在一个6台机器的集群上运行了几个作业,我注意到即使保持相同的数据集和相同的算法版本,执行时间也会发生显著变化。我得出的结论是,在这种类型的环境中,执行时间是不可预测的,因为计算运行的机器中请求的数据(不)可用 如何以可靠的方式运行这种类型的测试?常见的情况是,对于具有相同配置的相同数据集,有时相

我已经为ApacheHadoop实现了一个基于SON的频繁项集映射缩减算法。现在我需要测试它的性能,即使用不同的数据集研究它的执行时间是如何变化的,并将其与算法的不同版本进行比较,以选择最佳版本

因此,我在一个6台机器的集群上运行了几个作业,我注意到即使保持相同的数据集和相同的算法版本,执行时间也会发生显著变化。我得出的结论是,在这种类型的环境中,执行时间是不可预测的,因为计算运行的机器中请求的数据(不)可用


如何以可靠的方式运行这种类型的测试?

常见的情况是,对于具有相同配置的相同数据集,有时相同的Hadoop作业所花费的时间不同。主要原因可能是处理Map/Reduce任务的执行容器的可用性,这是不确定的

作业的运行时间可能是不确定的,因为运行作业的集群可能忙于处理其他作业。有时,当您运行作业时,作业的执行容器可能会非常少

如果您正在进行基准测试作业、数据集或配置,那么首先确保集群非常空闲,并且所有节点都已启动并运行

<>我们可以从工作完成页面中观察到工作绩效的一个问题是:考虑代码<平均地图时间>代码>代码>平均减少时间,<代码>平均洗牌时间,<代码>平均合并时间< /代码>,这些度量为您提供了许多作业运行的可靠统计数据。
已用时间值可能因资源可用性而异


@folli88,你能想出这个主意吗?遗憾的是,没有。我注意到这些值在不同的工作中也不同。可能的解决方案可能与整个作业的执行时间不同,对我来说,根据性能找到最佳算法才是重要的,我找不到这样做的方法。