hive內部表,外部表區別
阿新 • • 發佈:2019-01-01
內部表,就是一般的表,前面講到的表都是內布標,當表定義被刪除的時候,表中的資料隨之一併被刪除。
外部表,資料存在與否和表的定義互不約束,僅僅只是表對hdfs上相應檔案的一個引用,當刪除表定義的時候,表中的資料依然存在。
建立外部表,external是外部表的關鍵字,也是和內部表有區別的地方
create external table tblName(colName colType...);
載入資料
alter table tblName set location 'hdfs_absolute_uri';
外部表還可以在建立表的時候指定資料的位置,引用當前位置的資料。
create external table tblName(colName colType...) location 'hdfs_absolute_uri';
內部表和外部表的轉換:
內——>外
alter table tblName set tblproperties('EXTERNAL'='TRUE');
外——>內
alter table tblName set tblproperties('EXTERNAL'='FALSE');