2016-09-28 86 views
2

我想一次過NFS加載數以千計的壓縮文件到Vertica的與水珠表達一份聲明,但操作中止以下錯誤:如何在Vertica中跳過並繼續文件加載失敗?

ERROR 6253: Error occured during LZO header processing: expecting more than 8 bytes, possibly file corrupted 

什麼是正確的方式來告訴vertica繼續加載所有好文件,並在加載結束時報告哪些文件失敗?

回答

4

如果您運行的是Vertica 7.2.x,則會添加一個名爲ERROR TOLERANCE的新參數。在此版本之前,它不存在。

您可以看到副本選項here

Treats each source during execution independently when loading data. The statement is not rolled back if a single source is invalid. The invalid source is skipped and the load continues.

This parameter is disabled for ORC files, Parquet files, and when using a fenced User Defined Load (UDL).

唯一的其他替代方法是預先檢查的有效性在腳本或單獨加載它們(顯然這將是一個性能問題,所以我會選擇預檢)。

+0

謝謝,那真的很快。儘管如此,這使得分攤的加載功能失效,這是一種恥辱。 – tamale

+0

@tamale你可以在ApportionedLoad udx本身中修復這個問題,以捕獲和處理源代碼上的錯誤。並不是說這是微不足道的(除非你已經熟練寫UDL)。 – woot

+0

@tamale此外,還有一點需要注意的是,如果你的數據已經被分割成許多文件,並且你可以在任何節點上引用它們,那麼分配的負載就不是必須的了。它將已經並行加載不同節點上的每個文件。 – woot

相關問題