Map → Shuffle → Reduce 数据流示意

Map → Shuffle → Reduce 数据流(直观示意)

输入分片 (InputSplits)
MAP 阶段 (多个并行)
Split1
Map → 产生 KV
→ 环形缓冲区
→ Spill (排序)
→ 多分区段
Split2
Map → KV
→ Spill(排序+可选 Combiner)
→ 写临时文件
SplitN
Map ...
同样流程
每个 Map:Partitioner → Sort → Combiner(可选) → 多次 Spill → 归并 → 最终分区段 (按 Reduce 数量)
输出通过 HTTP Shuffle 服务暴露
Map 端 HTTP 服务输出 (分区有序段)
Shuffle 阶段(Reduce 端执行)
并行 Copy 拉取属于自己分区的数据
问题反馈