更新時間:2023年07月21日16時53分 來源:傳智教育 瀏覽次數(shù):
內(nèi)部表(CREATE TABLE table_name ......)未被external關(guān)鍵字修飾的即是內(nèi)部表,即普通表。內(nèi)部表又稱管理表,內(nèi)部表數(shù)據(jù)存儲的位置由hive.metastore.warehouse.dir參數(shù)決定(默認:/user/hive/warehouse),刪除內(nèi)部表會直接刪除元數(shù)據(jù)(metadata)及存儲數(shù)據(jù),因此內(nèi)部表不適合和其他工具共享數(shù)據(jù)。
外部表(CREATE EXTERNAL TABLE table_name ......LOCATION......)被external關(guān)鍵字修飾的即是外部表,即關(guān)聯(lián)表。外部表是指表數(shù)據(jù)可以在任何位置,通過LOCATION關(guān)鍵字指定。 數(shù)據(jù)存儲的不同也代表了這個表在理念是并不是Hive內(nèi)部管理的,而是可以隨意臨時鏈接到外部數(shù)據(jù)上的。所以,在刪除外部表的時候,僅僅是刪除元數(shù)據(jù)(表的信息),不會刪除數(shù)據(jù)本身。
對比一下內(nèi)部表和外部表的操作和理念。