hadoop 文档指出:
正确的归约次数似乎是 0.95 或 1.75 乘以
(*mapred.tasktracker.reduce.tasks.maximum)。
0.95 所有的减少都可以立即启动并开始
地图完成时传输地图输出。用1.75更快
节点将完成第一轮缩减并启动第二轮
波减少在负载平衡方面做得更好。
这些值相当恒定吗?当您选择这些数字之间或之外的值时,结果是什么?
这些价值观应该是您的情况所需要的。 :)
以下是我对这些价值观的好处的理解:
0.95 是为了最大限度地利用可用的减速器。如果 Hadoop 默认使用单个减速器,则不会分配减速器,从而导致其花费的时间比应有的时间长。减速器的增加和时间的减少有近乎线性的拟合(在我有限的情况下)。如果1个reducer需要16分钟,那么8个reducer需要2分钟。
1.75 是一个尝试优化节点中机器的性能差异的值。它将创建多个减速器,以便较快的机器将采用额外的减速器,而较慢的机器则不会。
该数字 (1.75) 需要根据您的硬件进行比 0.95 值更多的调整。如果您有 1 台快速机器和 3 台慢速机器,也许您只需要 1.10。这个数字需要更多的实验才能找到适合您的硬件配置的值。如果减速器的数量太多,慢速机器将再次成为瓶颈。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)