Hive
你可能会说
数据都在 HDFS 上,怎么用 SQL 查?
把 SQL 翻译成分布式作业的数据仓库Metastore 管表结构、SQL 编译成 MapReduce / Spark 作业跑在 HDFS 上,离线数仓的分层几乎都建在它上面;延迟分钟级起。
也常被叫作离线数仓Hive SQL
什么时候选它
- 离线数仓分层(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 和采样;分区字段基数不能太高。
延伸阅读 · 权威出处