第 3 章 · 数据加工:MapReduce 计算层 章节摘要:MapReduce 是数据旅程的高潮段。本章按数据被加工的顺序展开:编程模型的分治本质、Map 阶段的 API 实践、作业运行与 Shuffle 的全阶段透视、以及围绕 Shuffle 与容错的优化手段。读完你将能独立编写、提交、调优一个 MapReduce 作业,并解释它的每一段数据流。 学习目标 阅读完本章,你应当能够: 用"分而治之加归并"解释 Map 与 Reduce 两个抽象的分工; 编写词频统计、连接、二次排序三类典型作业; 描述作业从提交到完成的内部时序:分片、容器申请、任务执行、状态上报; 逐阶段透视 Shuffle:分区、环形缓冲、溢写、合并、拉取、归并;
章节摘要:MapReduce 是数据旅程的高潮段。本章按数据被加工的顺序展开:编程模型的分治本质、Map 阶段的 API 实践、作业运行与 Shuffle 的全阶段透视、以及围绕 Shuffle 与容错的优化手段。读完你将能独立编写、提交、调优一个 MapReduce 作业,并解释它的每一段数据流。
阅读完本章,你应当能够:
Shuffle 是 MapReduce 的心脏,也是全部优化的主战场——一次跨网络搬运决定了作业的生死时速。
分治思想如何映射到分布式执行,Map、Reduce、key 的分则,以及五大约简形态的适用边界。
从词频统计写起,覆盖输入格式、RecordReader、输出提交协议与三类典型模式。
作业提交的内部时序,加 Shuffle 从环形缓冲到归并的六阶段深度拆解。
Combiner、中间结果压缩、推测执行、计数器与瓶颈定位。
本章按"模型 → 编码 → 运行 → 优化"递进,数据流方向即章节方向:
[3.1 模型抽象] ──定义做什么──▶ [3.2 Map编码] ──产出中间结果──▶ [3.3 Shuffle与运行] ──暴露瓶颈──▶ [3.4 优化] 分治与归并键 三类实战模式 六阶段数据搬运 三板斧调优
3.3 是全章枢纽:它既是运行机制的核心,也是 3.4 全部优化手段的作用点。