📘 MapReduce · 编程模型与性能优化
🎓 友好 · 30章完整目录
01
MapReduce概述
分布式计算背景
设计思想
Hadoop生态定位
02
核心编程模型
Map阶段详解
Reduce阶段
Shuffle机制
03
开发环境搭建
Hadoop集群安装
Eclipse/IDEA配置
Maven构建
04
WordCount实战
需求分析
Mapper实现
Reducer/Driver
05
序列化机制
Writable接口
自定义序列化
性能对比
06
分区与分组
Partitioner原理
自定义分区
分组比较器
07
Combiner优化
Combiner作用
使用场景
与Reducer区别
08
排序机制
二次排序
全排序/部分排序
自定义排序
09
Join操作
Map端Join
Reduce端Join
优化策略
10
计数器与状态
自定义计数器
任务状态监控
日志分析
11
数据倾斜
倾斜原因分析
采样与分区优化
Combiner缓解
12
小文件问题
小文件危害
CombineTextInputFormat
SequenceFile合并
13
压缩技术
压缩格式对比
对性能影响
最佳实践
14
推测执行
推测执行原理
配置参数
适用场景
15
任务调度
FIFO调度器
容量调度器
公平调度器
16
内存优化
Map/Reduce内存配置
JVM调优
GC优化
17
网络优化
网络拓扑感知
机架感知
数据本地性
18
磁盘I/O优化
I/O缓冲区
异步I/O
SSD使用
19
MapReduce 2.0
YARN架构
MR on YARN
资源管理
20
性能监控
JobHistoryServer
Web UI
Metrics系统
21
调优工具
Hadoop自带工具
Ganglia
Nagios集成
22
实战案例1 · 日志分析
系统设计
ETL流程
数据清洗
23
实战案例2 · 倒排索引
倒排索引构建
TF-IDF计算
搜索引擎基础
24
实战案例3 · PageRank
PageRank算法
迭代计算
收敛判断
25
实战案例4 · K-Means
K-Means聚类
迭代MapReduce
中心点更新
26
实战案例5 · 推荐系统
协同过滤
用户相似度
TopN推荐
27
实战案例6 · 图计算
邻接表表示
BFS遍历
大规模图
28
实战案例7 · 时间序列
滑动窗口
趋势预测
时间序列分析
29
实战案例8 · 去重与排序
数据去重
全排序优化
TopK问题
30
总结与展望
MapReduce局限性
Spark对比
未来趋势