一、前言
MapReduce 是 Hadoop 的核心计算模型,它通过 Map(映射)和 Reduce(归约) 两个阶段,实现对海量数据的并行处理。
在大数据实战中,日志分析和词频统计是最经典的案例。本文将以日志分析为例,讲解 MapReduce 的原理与实战操作。
二、MapReduce 原理回顾
- Map 阶段
- 对输入数据进行分片(Split),每个 Mapper 处理一部分数据。
- 输出 键值对 (key, value),作为 Reduce 阶段的输入。
- Shuffle & Sort 阶段
- 将 Map 输出根据 key 进行 分组和排序,保证同一 key 的数据进入同一个 Reducer。
- Reduce 阶段
- 对每个 key 对应的 value 列表进行聚合或计算,输出最终结果。
流程示意:
输入数据 -> Mapper -> (key,value) -> Shuffle/Sort -> Reducer -> 输出结果