在以下情况中,我没有看到Hadoop中reducers的值:
Map Tasks的输出大小太大(如果我们等待Reducer开始工作,这会耗尽内存)
如果我们有任何不需要分组和排序的功能
如果我错了,请纠正我。
如果有人能给我一个关于减速器的好处以及何时应该使用它的真实例子,我会很感激。
答案 0 :(得分:0)
当您需要执行聚合/分组等操作时,Reducer是有益的(或必需的)。
FYI:Reducer用于为来自不同映射器的键分组不同的值。因此,对于不需要分组/聚合的用例,没有必要使用reducer(您可以将其设置为Zero,意味着Map-Only作业)。
我能想到的一个快速用例是 - 你想随机将一个大文件拆分成多个零件文件。在这种情况下,您将向仅限地图的作业提供大文件(例如100G)。所有地图都将读取一大块文件并作为文件的一部分写入。