HIve数据存储

Posted nicoleljc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HIve数据存储相关的知识,希望对你有一定的参考价值。

  • Table 内部表
  • Partition 分区表
  • External Table 外部表
  • Bucket Table 桶表

内部表

 

技术分享图片

技术分享图片

分区表

       parttion对应于数据库中的Partition列的密集索引,在hive中,表的一个Partition对应于表下一个目录,所有的Partition的数据都存储在对应的目录中

技术分享图片

技术分享图片

每个分区对应一个目录,建立分区表可以提高查询效率

查看HQL查询效率:使用explain语句生成执行计划,指定了分区的HQL语句生成的执行计划步骤比没有指定分区的HQL执行计划的步骤少

技术分享图片

技术分享图片

外部表

       指向已经在HDFS中存在的数据,可以创建Partition;它和内部表在元数据的组织上是相同的,而实数据的存储则有较大差异;外部表只有一个过程,加载数据和创建表同时完成(而内部表创建和插入是分开执行),并不会移动到数据仓库的目录中,只是与外部数据建立一个连接,当删除外部表的时候也只是删除这个连接。

技术分享图片

技术分享图片

然后把Student01,Student02,Student03这几个txt文件放到input目录下;

 

 

当删除hdfs下input目录中的文件03

技术分享图片

再次查询,发现对应记录没有了,,少了几条

技术分享图片

 

视图

 

以上是关于HIve数据存储的主要内容,如果未能解决你的问题,请参考以下文章

2021年大数据Hive:Hive的数据存储格式

Hive之 数据存储

Hive优化篇-Hive数据存储格式

一文彻底搞懂Hive的数据存储与压缩

对存储在 Hive 中的数据运行 Pig 查询

大数据--hive文件存储格式