HIve数据存储

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

内部表

HIve数据存储

HIve数据存储

分区表

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

HIve数据存储

HIve数据存储

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

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

HIve数据存储

HIve数据存储

外部表

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

HIve数据存储

HIve数据存储

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

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

HIve数据存储

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

HIve数据存储

视图

上一篇:java-从第三方获取JSON数据并避开SOP


下一篇:排序算法java实现