一、MapReduce → Spark/Tez
被淘汰原因
- 中间结果需持久化到HDFS磁盘,I/O开销大
- 任务调度粗粒度,启动时间数秒
- 无法支持低延迟的交互式查询
替代方案:Spark
- 内存计算
- DAG调度
- 惰性求值
- 基于Lineage的容错
性能提升
- 100TB日志分析任务:Spark比MapReduce快100倍
- PageRank等迭代算法:加速1000倍
二、Apache Storm → Apache Flink
被淘汰原因
- 只支持”至少一次”消息处理语义
- 缺乏事件时间窗口
- 无法保证数据不重复
替代方案:Flink
- 事件时间窗口处理
- Exactly-once语义(Chandy-Lamport算法)
- 流批一体架构
三、Apache Pig and Hive
Pig局限性
Hive局限性
- 查询延迟分钟级(5-10分钟)
- MapReduce磁盘I/O开销大
- 不适合交互式分析
现状
- Pig:基本退出生产环境
- Hive:转型为元数据管理中心
四、传统数仓 → Lakehouse架构
传统数仓问题
数据湖问题
Lakehouse方案
- Delta Lake / Apache Iceberg
- 统一元数据管理
- 查询引擎:Photon、Spark SQL
技术演进趋势
| 旧技术 | 被替代为 | 原因 |
|---|
| MapReduce | Spark/Tez | 磁盘I/O开销、延迟高 |
| Storm | Flink | 缺乏Exactly-once语义 |
| Pig | Spark SQL | 可读性差、学习曲线陡峭 |
| Hive(MR) | Spark SQL/Presto | 查询延迟高 |
| 传统数仓 | Lakehouse | 扩展性差、数据类型受限 |
当前行业状态
- 90%+新建大数据平台选择Spark
- Flink成为实时计算主流
- Hive转型为元数据管理层