簡體   English   中英

HIVE查詢刪除源數據Blob

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM