1.内部表和外部表
1)管理表:当我们删除一个管理表时,Hive也会删除这个表中数据。管理表不适合和其他工具共享数据。
2)外部表:删除该表并不会删除掉原始数据,删除的是表的元数据

2.管理表和外部表的使用场景
每天将收集到的网站日志定期流入HDFS文本文件。在外部表(原始日志表)的基础上做大量的统计分析,用到的中间表、结果表使用内部表存储,数据通过SELECT+INSERT进入内部表。

3.管理表与外部表的互相转换

(1)查询表的类型

hive (default)> desc formatted student2;
Table Type:             MANAGED_TABLE


(2)修改内部表student2为外部表

alter table student2 set tblproperties('EXTERNAL'='TRUE');



(3)查询表的类型

hive (default)> desc formatted student2;
Table Type:             EXTERNAL_TABLE


(4)修改外部表student2为内部表

alter table student2 set tblproperties('EXTERNAL'='FALSE');



(5)查询表的类型

hive (default)> desc formatted student2;
Table Type:             MANAGED_TABLE



注意:('EXTERNAL'='TRUE')和('EXTERNAL'='FALSE')为固定写法,区分大小写!