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

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

 

视图

 

posted @ 2018-11-25 20:45  箜篌nicole  阅读(399)  评论(0编辑  收藏  举报