我在“定义指南:Hadoop”第206页中有以下文字。
在写入磁盘之前,线程首先将数据划分为相应的分区 对他们最终将被送往的减速器。在每个分区中,后台线程按键执行内存中排序,如果有组合器函数, 它在排序的输出上运行。运行组合器功能可以实现更多功能 紧凑的地图输出,因此有较少的数据写入本地磁盘并传输到 减速器。
通过这种理解,我可以将订单排序为Mapper,partitioner,shuffle / sort,Combiner吗?
答案 0 :(得分:1)
我写了一篇关于此的好文章:http://0x0fff.com/hadoop-mapreduce-comprehensive-description/ 一般来说,你是对的,但特别是有更多的极端情况 - 某些记录可能会省略组合器,对于其中一些记录可能会多次运行,甚至可能会在之前启动组合器。减速机。所以你一般都是正确的,但事情要复杂得多