2017-07-06 13 views
0

根據文檔,當我們在HIVE中創建一個EXTERNAL表時,然後刪除這個表,元數據將被更新,並且HDFS目錄/ user/hive/warehouse //>中加載的數據仍然存在?HIVE:外部表 - 你如何清理加載在user/hive/warehouse/db/table目錄中的文件

我有兩個問題: 1.您如何清理/ user/hive/warehouse />中的文件? 2.當我試圖再次創建表格並且文件名稱相同但數據不同時,HIVE倉庫文件沒有更新 是否應該是? (我問過這個問題,因爲我不確定這是設置問題還是預期的行爲)

+1

投票結束。在單個帖子中只詢問一個問題。附:你是第二個查詢是非常不清楚的。 –

回答

0

Hive不存儲(管理)倉庫目錄中EXTERNAL表的任何數據文件。它只將這些表的元數據存儲在Metastore中。

這是Hive內部(託管)和外部表之間的主要區別。內部表擁有的數據,外部表只有知道了。

更詳細的解釋here

0

要刪除EXTERNAL表數據,您需要從HDFS位置手動刪除它,Hive僅在此情況下刪除元數據。 要刪除的文件HDFS,你可以使用簡單的rm命令:

hadoop fs -rm /location_of_data 

,並使用-rm -R如果想刪除遞歸。