![](/img/trans.png)
[英]Dropping internal Hive table is not deleting the contents of the underlying Azure Blob Storage
[英]HIVE Query Deleting source data blob
我正在使用Azure HdInsight(3.1.3.577)。
運行HIVEQL語句:LOAD DATA INPATH'/myData/employee.txt'INTO TABLE員工;
正確加載數據,但也具有刪除源文本文件的副作用。 這種行為令我感到困惑。
在文檔( https://cwiki.apache.org/confluence/display/Hive/GettingStarted )中,存在以下“從HDFS加載數據將導致文件/目錄的移動。因此,該操作幾乎是瞬時的。 ”
我的困惑是為什么這樣做會很有效,因為每次運行都必須使用源數據重新加載HDFS(Azure blobstore)。
Hive使用HDFS將其表數據存儲在默認位置“ / user / hive / warehouse”下。
當數據已經存在於HDFS中時,我們將創建一個外部表,並使用LOCATION關鍵字提供HDFS路徑。 這不會導致將文件/目錄移動到默認位置。
通過這樣做,Hive假定數據存在於給定的路徑中,並且不擁有該數據。
即使刪除表,路徑中指定的數據仍然存在。
嘗試這個,
create external table myTable (Userid string, name string)
row format delimited
fields terminated by '\t'
LOCATION '/myData/employee.txt' ;
位置應在hdfs中;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.