选型

Hive

你可能会说

数据都在 HDFS 上,怎么用 SQL 查?

把 SQL 翻译成分布式作业的数据仓库Metastore 管表结构、SQL 编译成 MapReduce / Spark 作业跑在 HDFS 上,离线数仓的分层几乎都建在它上面;延迟分钟级起。
也常被叫作离线数仓Hive SQL
先问一句HDFS 上要跑 SQL 批处理?
默认Hive→擅长离线数仓分层→别用秒级交互查询
成熟度采用

什么时候选它

  • 离线数仓分层(ODS / DWD / DWS)
  • 已有 Hadoop 集群,TB 级批处理
  • T+1 报表和回溯计算

什么时候别选

  • 交互式、秒级查询(ClickHouse / Trino)
  • 实时流处理(Flink)
  • 小数据量(本地 DuckDB 就够)
容易混在一起 · 怎么分
Hive≠ClickHouse

Hive 面向海量离线批处理,延迟高但便宜;ClickHouse 面向实时聚合查询。

Hive≠数据湖表格式

Hive 表靠目录组织、无原子提交;Iceberg / Hudi 补上了快照、ACID 和 schema 演进。

Q面试会问什么

  • 问:Hive 和传统数据库的区别?
    答:没有事务和低延迟,SQL 会编译成分布式作业;元数据放 Metastore,数据仍是 HDFS 文件。
  • 问:分区和分桶的作用?
    答:分区裁剪减少扫描量,分桶改善 JOIN 和采样;分区字段基数不能太高。
延伸阅读 · 权威出处