在这个回答中有一句话是这样写的:“同一个作业在同一个数据上运行,但是在一个20节点的集群上,然后在一个200节点的集群上运行。总的来说,两个集群将使用相同的cpu时间”有人能解释这个吗?
我用过 time
命令实时测量。有时我得到的cpu时间(hadoop计数器)比实际的实时时间多,反之亦然 user+sys
.
我仍然不知道hadoop的cpu总时间是多少。关于时间命令这个答案写的很好去用户+系统的基准测试。
作为 total cpu time taken by process = user+sys
那么它应该与hadoop作业计数器的总cpu时间相同。但我得到了不同的结果。
如果我在hadoop user+sys中执行一些基准任务,或者总cpu时间(hadoop counter),我应该考虑什么时间?
注意:在apachehive基准测试中,他们考虑了实时性,但它也会受到其他进程的影响。所以我不能考虑实时性。
1条答案
按热度按时间zpqajqem1#
same job running over the same data but on one 20 node cluster, then a 200 node cluster.Overall, the same amount of CPU time will be used on both clusters
这意味着如果一份工作N
在一个20节点的集群上工作一小时,以及M
在一个200节点的集群上工作几个小时20 * N
应等于M * 200
实时应该是你的选择,但正如你上面所说,这个值可能会相应地改变,所以你应该尝试至少3次,并计算平均值作为最终结果。