柳嘉希

硕士研究生毕业生

软件工程师 | 可扩展的API · 网络爬虫 · 数据集成 · Vibe代码清理专家

大数据复习:Hadoop、Spark、Hive 的定位、组件和区别

大数据系统的核心问题是:数据太大,单机放不下或算不动,所以需要分布式存储和分布式计算。

Hadoop

Hadoop 是大数据生态的基础框架,主要组件包括:

  • HDFS:分布式文件系统
  • MapReduce:分布式计算模型
  • YARN:资源调度

HDFS 把大文件拆成块,分散存储到多台机器上,并通过副本保证容错。

MapReduce 把计算拆成 Map 和 Reduce 两阶段:

  1. Map:每个节点处理自己负责的数据块
  2. Reduce:聚合中间结果

优点是可靠、可扩展;缺点是批处理延迟较高。

Spark

Spark 是大规模数据计算框架,通常比 Hadoop MapReduce 更快,因为它大量使用内存计算。

常见组件:

  • Spark Core
  • Spark SQL
  • Spark Streaming
  • MLlib
  • GraphX

Spark 适合迭代计算、机器学习、交互式分析和流处理。

Spark 与 Hadoop MapReduce

MapReduce 更偏传统批处理,每一步会频繁落盘。

Spark 把中间数据尽量放在内存中,适合需要多轮计算的任务。

Hive

Hive 是数据仓库工具,可以用类 SQL 的方式查询 HDFS 上的数据。

它适合:

  • 离线分析
  • 报表
  • 数据仓库
  • 让熟悉 SQL 的人查询大数据

Hive 不是传统 OLTP 数据库,不适合高频低延迟事务查询。

总结

  • Hadoop:分布式存储和批处理基础
  • Spark:更快的大规模计算引擎
  • Hive:面向分析的数据仓库 SQL 层