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')為固定寫法,區分大小寫!