Hive內部表和外部表區別

2021-10-24 01:40:54 字數 952 閱讀 7786

建立內部表:

# 建立

create table art_inn(sentence string)

row format delimited fields terminated by '\n';

# 匯入

建立外部表:

注意:外部表是在建立的時候定義實體資料的位置的,而且位置必須為資料夾,不能為檔案。

1、匯入資料時:

在匯入資料到外部表,資料並沒有移動到自己的資料倉儲目錄下(這句話理解:資料沒有在hive-site.xml指定的目錄下,但是必須在hdfs上),也就是說外部表的資料並不是由它自己來管理的,是由外部來做更改。

2、刪除資料時:

刪除內部表時,hive會把內部表的元資料和資料全部刪除掉;刪除外部表時,hive僅僅是刪除外部表的元資料,資料是不會刪除的。

外部表刪除如下圖:

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

內部表 create table if not exists table name刪除表時,元資料與資料都會被刪除 外部表 create external table if not exists table name location hdfs path刪除外部表只刪除metastore的元資料,不...

Hive內部表 外部表區別

hive內部表 外部表區別自不用說,可實際用的時候還是要小心。1.內部表 sql view plain copy print create table tt name string age string location input table data 此時,會在hdfs上新建乙個tt表的資料存放...

Hive內部表 外部表 區別

以下基於hive 2.0.0 snapshot,本人親自實驗的結論!新增欄位會導致表結構同時改變,與是否是外部表內部表無關,也與是否指定location無關!從本地load新分割槽的資料會導致表的分割槽資訊同時改變,與是否是外部表內部表無關,也與是否指定location無關!2 drop表時,如果是...