hive的內部表和外部表的區別


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM