在什么基础上mapreduce框架决定是否启动合并器

ban*_*ara 14 hadoop mapreduce combiners

根据定义"可以在映射器和减速器之间的每个键上调用组合器0,1或多次."

我想知道mapreduce框架在什么基础上决定将会启动多少次cobiner.

Tho*_*lut 23

只需将磁盘溢出的数量.在MapOutputBuffer填充之后进行排序,同时进行组合.

您可以调整溢出到磁盘与参数的数量io.sort.mb,io.sort.spill.percent,io.sort.record.percent-这些也文档(书籍和在线资源)的解释.

特定数量的组合器运行示例:

0 - >没有定义组合器

1 - >定义了一个组合器,MapOutputBuffer填充了一次

> 1 - >定义了一个组合器,并且MapOutputBuffer不止一次填满

请注意,即使MapOutputBuffer永远不会完全填满,也必须在映射阶段结束时刷新此缓冲区,从而触发组合器至少运行一次(如果已定义).