This question already has answers here:
Combiner Implementation and internal working
(3个答案)
4年前关闭。
组合器适合的用例是什么,组合器不适合的用例是什么。我知道组合器的功能,但是我试图理解码合器有意义的不同用例。
(3个答案)
4年前关闭。
组合器适合的用例是什么,组合器不适合的用例是什么。我知道组合器的功能,但是我试图理解码合器有意义的不同用例。
最佳答案
来源:Hadoop权威指南:
运行组合器功能可实现更紧凑的映射输出,因此更少的数据可写入本地磁盘并传输到reducer。
如果仅发生一次或两次溢出,则调用合并器的映射输出大小的潜在减少是不值得的开销,因此对于该映射输出不会再次运行。
什么是溢出:每个映射任务都有一个循环存储器缓冲区,它将输出写入该缓冲区。当缓冲区的内容达到某个阈值大小(80%)时,后台线程将开始将内容溢出到磁盘上。
如果组合器符合条件(可交换和关联),则IMO始终运行组合器。 Hadoop框架将决定是否运行合并器(基于 map 输出大小/不溢出)。因此,您不必担心性能降低。
08-28 05:08