大家可以參考廈門大學數據庫實驗室這篇博客
雖然說,建立外部表會使用LOCATION指定位置,而建立內部表不使用LOCATION,會默認保存在/hive/warehouse/下,自動生成一個目錄,目錄名為表名。
但是通過一系列對比,我們可以發現,這兩個參數之間是沒有關系的。
 我們可以建立外部表,不使用LOCATION;也可以建立內部表,使用LOCATION。
- 建外部表使用LOCATION,讀取到數據,同時插入數據,會在LOCATION位置新生成文件000000_0,刪除外部表,數據文件還在,證明外部表功能還在。
 - 建內部表使用LOCATION,讀取到數據,同時插入數據也會生成新文件,但刪除內部表,數據文件都會消失,整個目錄都會刪除掉,也正好符合內部表的功能。
 - 建立外部表,不使用LOCATION,會在默認在/hive/warehouse/數據庫名稱/表名,建立目錄。然后插入數據,會生成新文件,刪除表。目錄和文件都還在。符合外部表功能。
 - 建立內部表,不使用LOCATION。在相應位置創建新目錄,插入數據,一樣生成新文件。但是如果刪除內部表,目錄和數據文件都會刪除掉。
 
結論
所以我們是否會在HDFS上看到生成新的目錄,取決於是否使用LOCATION,而不是外部表、內部表的關系。
