简介
hive [haiv]
Hive 是一个基于 Hadoop 文件系统之上的数据仓库架构。
1.为数据仓库的管理提供功能:
- 数据 ETL (抽取、转换和加载)工具
- 数据存储管理
- 大型数据集的查询和分析能力
3.方便使用 Mapper 和 Reducer 操作,可以将 SQL 语句转换为 MapReduce 任务运行
Hive 与关系数据库的区别
1.使用的文件系统:
- Hive: Hadoop 的HDFS(Hadoop的分布式文件系统)
- 关系数据库: 服务器本地的文件系统
2.计算模型:
- Hive: MapReduce
- 关系数据库: 自己设计的计算模型
3.实时性:
- Hive: 为数据挖掘设计,实时性很差
- 关系数据库: 为实时查询业务设计,实时性强
4.扩展能力:
- Hive: 易扩展存储能力、计算能力
- 关系数据库: 扩展性差
使用场景
- Hive 并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作。
- Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。
数据存储
- Hive 本身没有专门的数据存储格式,不能为数据建立索引
- 只需要在创建表时,告诉 Hive 数据中的列分隔符就可以解析数据了
Hive 中主要包括 4 种数据模型:
- 表(Table)
- 外部表(External Table)
- 分区(Partition)
- 桶(Bucket)
元数据存储
- Hive 的元数据可能要面临不断地更新、修改和读取操作,不适合使用 Hadoop 文件系统进行存储
- 目前 Hive 把元数据存储在 RDBMS 中,比如存储在 MySQL, Derby 中
来源: 实验楼
链接: https://www.shiyanlou.com/courses/38