掌握Hive数据存储模型
二、掌握Hive数据存储模型
(一)Hive存储格式
1、真实数据(HDFS)
| 存储格式 | 存储 | |
|---|---|---|
| TEXTFILE | 行 | Hive默认存储格式,常见有txt、csv、tsv |
| SEQUENCEFILE | 行 | 二进制序列化过得Key/Value字节流,压缩选项有:None不压缩、RECORD(默认)记录级压缩&压缩率低、BLOCK块级压缩&压缩率高 |
| RCFILE | 行列 | 先水平再垂直 |
| ORCFILE | 行列 | RCFILE得优化,支持压缩比高的压缩算法,支持复杂的数据结构 |
2、元数据
Hive元数据包括hive库信息、表信息(表的属性、表的名称、表的列、分区及其属性)以及表数据所在的目录等。
Hive的元数据,默认是存储在derby中的,但是我们一般会修改其存储在关系型数据库比如MYSQL中(其可以在hive配置中修改),在关系型数据库中会有一个hive库,存放相应的表。
(二)Hive数据单元
| 数据单元 | |
|---|---|
| 数据库 | 类似RDBMS的数据库 |
| 表 | 由列构成,可进行过滤、映射、连接和联合操作 |
| 分区 | 指定键分为多个区,提高查询效率 |
| 分桶 | 指定某列哈希值分为多个桶 |
❗注意
- Hive表没有主键
- 0.14版本前不支持行级操作
- 不支持批量update,只能先删除再添加
- 分区和分桶极大地提高了查询效率
(三)Hive存储模型


浙公网安备 33010602011771号