hive 內部表與外部表的區別

2022-08-14 02:48:19 字數 1075 閱讀 4724

hive 內部表:

hive> create table soyo55(name string,addr string,money string) row format delimited fields terminated by ',' stored as textfile;

hive> load data local inpath '/home/soyo/桌面/4.txt' into table soyo55;

表中的資料到底存放在hdfs的什麼地方?其實在hive的$/conf/hive-site.xml配置檔案的hive.metastore.warehouse.dir屬性指向的就是hive表資料存放的路徑(在我的電腦裡面配置是/user/hive/warehouse (預設的表示沒有配置hive.metastore.warehouse.dir屬性)),而hive每建立乙個表都會在hive.metastore.warehouse.dir指向的目錄下以表名建立乙個資料夾,所有屬於這個表的資料都存放在這個資料夾裡面。

hive 外部表:

hive> create external table soyo89(name string,addr string,money string)location '/home/soyo';

hive> load data local inpath '/home/soyo/桌面/6.txt' into table soyo89;

表中的資料到底存放在hdfs的什麼地方?存在hdfs中的「/home/soyo」路徑下

hive 內部表與外部表的區別:

內部表當刪除表時(drop table 表名)對應的表的元資料和具體資料都會被刪除

外部表當刪除表時(drop table 表名)對應的表的元資料被刪除但是具體資料還是在以前存放的路徑下(例如: 刪除表soyo89後------> /home/soyo這個路徑下的6.txt檔案還是存在的)

外部表在建立時,如果location 『/具體路徑』下有具體的資料,可以直接載入資料進行操作(我認為這是挺方便的)

hive 內部表與外部表的區別

本文以例子的形式介紹一下hive內錶和外表的區別。例子共有4個 不帶分割槽的內錶 帶分割槽的內錶 不帶分割槽的外表 帶分割槽的外表。1 不帶分割槽的內錶 建立表 create table innertable id int,name string row format delimited field...

hive外部表與內部表的區別

測試一下,放三個檔案到hdfs中 hdfs dfs mkdir input hdfs dfs put student01.txt input hdfs dfs put student02.txt input hdfs dfs put student03.txt input 現在建立乙個外部表來指向這...

Hive內部表 外部表區別

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