Hive外部表分區是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1:定義
未被external修改的是內部表(MANAGED TABLE),被external修飾的為外部表(EXTERNAL TABLE)
創建外部表語法:
create external table person2( id int, name string, hobby array<string>, addr map<string,string> ) row format delimited fields terminated by ',' collection items terminated by '-' map keys terminated by ':' location '/user/person2' ;
2:區別
1)內部表數據由hive自身管理,外部表數據由hdfs來管理
內部表數據存儲的位置默認/user/hive/warehouse,
外部表數據存儲的位置由用戶自己指定
2)刪除內部表會直接刪除元數據和存儲數據
刪除外部表僅僅只會刪除元數據,HDFS上的文件不會刪除。
3:分區表
1)定義語法
create table p1( id int, name string, hobby array<string>, addr map<string,string> ) partitioned by (p_dt string) row format delimited fields terminated by ',' collection items terminated by '-' map keys terminated by ':' ;
注意:分區字段不能和表中的字段重復,若要創建分區表,必須在表定義的時候創建partition
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。