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
再次查询,发现对应记录没有了,,少了几条
视图