1. 程式人生 > >hive內部表,外部表區別

hive內部表,外部表區別

內部表,就是一般的表,前面講到的表都是內布標,當表定義被刪除的時候,表中的資料隨之一併被刪除。 外部表,資料存在與否和表的定義互不約束,僅僅只是表對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');