一、MapReduce → Spark/Tez

被淘汰原因

  • 中间结果需持久化到HDFS磁盘,I/O开销大
  • 任务调度粗粒度,启动时间数秒
  • 无法支持低延迟的交互式查询

替代方案:Spark

  • 内存计算
  • DAG调度
  • 惰性求值
  • 基于Lineage的容错

性能提升

  • 100TB日志分析任务:Spark比MapReduce快100倍
  • PageRank等迭代算法:加速1000倍

被淘汰原因

  • 只支持”至少一次”消息处理语义
  • 缺乏事件时间窗口
  • 无法保证数据不重复
  • 事件时间窗口处理
  • Exactly-once语义(Chandy-Lamport算法)
  • 流批一体架构

三、Apache Pig and Hive

Pig局限性

  • 脚本可读性差
  • 调试复杂
  • 学习曲线陡峭

Hive局限性

  • 查询延迟分钟级(5-10分钟)
  • MapReduce磁盘I/O开销大
  • 不适合交互式分析

现状

  • Pig:基本退出生产环境
  • Hive:转型为元数据管理中心

四、传统数仓 → Lakehouse架构

传统数仓问题

  • 垂直扩展导致扩容成本指数增长
  • 只处理结构化数据

数据湖问题

  • “数据沼泽”现象
  • 缺少ACID事务支持

Lakehouse方案

  • Delta Lake / Apache Iceberg
  • 统一元数据管理
  • 查询引擎:Photon、Spark SQL

技术演进趋势

旧技术被替代为原因
MapReduceSpark/Tez磁盘I/O开销、延迟高
StormFlink缺乏Exactly-once语义
PigSpark SQL可读性差、学习曲线陡峭
Hive(MR)Spark SQL/Presto查询延迟高
传统数仓Lakehouse扩展性差、数据类型受限

当前行业状态

  • 90%+新建大数据平台选择Spark
  • Flink成为实时计算主流
  • Hive转型为元数据管理层