掌握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存储模型
本文作者:Lilaaa
本文链接:https://www.cnblogs.com/lila720/p/18273830
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步