内部表
也称为受控表,表中的数据受表定义影响,表删除后表中数据随之删除。在COLUMNS_V2表中TBL_TYPE显示为MANAGED_TABLE
在http://shb01:50070/可以看到表信息
表删除后实际上是从hdfs上将t1目录移到回收站中,另外删除TBLS表中的表定义信息
hive> drop table t1;
Moved:'hdfs://shb01:9000/user/hive/warehouse/t1' to trash at:hdfs://shb01:9000/user/root/.Trash/Current
OK
Time taken: 1.789 seconds
外部表
数据不受表定义影响,表删除后数据仍在。
[root@shb01 data]# more t4_hql.hql
create external table t4_exter1(
id string,name string)
row format delimited
fields terminated by '\t' location'hdfs://shb01:9000/data/';
hive> source /usr/local/data/t4_hql.hql;
在TBLS表中可以看到外部表信息
在http://shb01:50070/中也可以看到外部表信息,这里的t4表就是一个外部表
也可以在创建表时不指定数据,之后通过alter指定数据
alter table t4_exter1 set location'hdfs://shb01:9000/data/t4';
hive> drop table t4_exter1;

本文详细介绍了Hive中的四种表类型:内部表(数据受表定义影响,删除后数据删除)、外部表(数据独立,删除后数据保留)、分区表(提高查询效率,数据按分区存储)和桶表(通过哈希取模实现数据均匀分布,提升查询效率)。通过实例展示了它们的创建、加载和查询操作,以及在HDFS上的存储情况。

被折叠的 条评论
为什么被折叠?



