题目
Hive 是什么?Hive 的优缺点
答案
推荐阅读下这篇文章:[Hadoop 生态里,为什么 Hive 活下来了?](https://www.infoq.cn/article/kmkmw04qakslsmwe0vqg) Hive 是 **基于 Hadoop 的数据仓库工具**,最早由 Facebook 开发,用来解决在 海量结构化日志文件 上做统计分析时,**写 MapReduce 太麻烦的问题**。 可以把 Hive 理解成 **“在 Hadoop 上跑的 SQL 引擎”**: 核心概念: 1. **数据仓库工具**: Hive 本身不是数据库,它是一个数据仓库框架,存储依赖 HDFS,计算依赖 MapReduce、Tez 或 Spark。 2. **SQL 接口**: Hive 提供类 SQL 语言 —— **HiveQL**,用户可以用 SQL 写查询,Hive 会把它翻译成底层的 MapReduce(或 Spark/Tez)任务来执行。 3. **批处理系统**: Hive 的查询延迟较高(秒级到分钟级),适合大规模离线分析,而不是实时查询。 Hive 的主要功能: - **数据存储**:数据放在 HDFS 上,可以是文本、Parquet、ORC 等格式。 - **数据查询**:使用 HiveQL(类 SQL)来查询,不用写 MapReduce。 - **元数据管理**:Hive 使用 **Metastore**(通常是 MySQL/PostgreSQL)来存储表的 schema、分区信息。 - **扩展性**:可以接入 Spark、Tez 等引擎来加速。 Hive 的适用场景 - ✅ 海量日志分析 - ✅ 数据仓库构建 - ✅ ETL(数据清洗、转换、加载) - ❌ 不适合实时查询(延迟较高) - ❌ 不适合高并发小查询(更适合用 Presto/Impala/ClickHouse)