在reducer上执行hadoop合并器

w9apscun  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(293)

我有一个长时间运行的mapreduce工作,有些绘图员要比其他人花更多的时间。
在查看web界面上的统计信息时,我看到我的合并器也启动了reducer(其中大部分是空闲的,因为只有2个mapper仍在运行)。
虽然在所有Map程序完成之前不浪费时间和进行一些预聚合似乎是合理的,但是我找不到任何关于这种行为的文档。有人能确认这确实是hadoop的一个特性,或者只是在web界面上显示错误吗?

wixjitnu

wixjitnu1#

当Map器发出合理数量的数据时,组合器启动。请注意,组合器作为Map器输出的聚合(通常)运行(而不是在reduce端)。更多细节可以在这里找到。
此外,在所有Map器完成之前,reducer可以开始收集(仅)Map器发出的数据。这就是减速器的洗牌阶段。您可以通过更改 mapred.reduce.slowstart.completed.maps 财产(或 mapreduce.job.reduce.slowstart.completedmaps 在较新版本中)。关于这篇文章的更多细节。

相关问题