2015-06-23 56 views
0

我注意到在一個應用程序中,併發讀取(使元數據無效)和OVERWRITING表導致底層文件損壞。Impala並行讀取和覆蓋

這是一個已知的場景嗎?我期望當表被覆蓋時,併發讀取將失敗,它不會破壞表的底層文件。

幫助將不勝感激!

回答

0

如果文件被破壞,則應該不是是由併發讀取和寫入引起的。 HDFS是一個只讀/附加文件系統,Impala將始終寫入新文件。插入時,文件將寫入暫存目錄,在文件完成之前,Impala將不會讀取該文件,此時它們將被移動到表/分區目錄中。

需要考慮的幾件事:如果獨立於選擇運行插入,那麼文件是否正常?腐敗是什麼意思?它在Hive中工作嗎?你正在運行什麼版本的Impala?

+0

表格不可讀(即使不是來自配置單元,所以我認爲元數據已損壞),我不打包查詢這些表,既不能夠插入新記錄,所以作爲解決方法,我創建了一個新表,(因爲我之前在做插入覆蓋,所以創建一個新表並在之後添加記錄)這不是一個解決方案,但是直到我找到某個東西,我纔開始繼續應用。是的,如果我獨立於選擇運行插入,文件就OK! 。我正在使用cdh5,impala 2.1.3 – ganeshTripathi