2012-09-20 40 views
1

當我加載超過1個csv文件時,大查詢如何處理錯誤?大查詢中的原子插入

BQ負載--max_bad_record = 30 dbname.finalsep20xyz GS://sep20new/abc.csv.gz,gs://sep20new/xyzcsv.gz

中有幾個文件可能無法加載的批處理作業,因爲預期的列數不匹配。我想加載其餘的文件。如果文件abc.csv失敗請執行xyz.csv文件嗎? 或者整個工作會失敗並且不會插入記錄?

我嘗試了虛擬記錄,但無法確定如何處理多個文件中的錯誤。

回答

3

負載是原子 - 無論是所有文件提交還是沒有文件。如果您希望它們獨立完成,您可以將這些負載分解爲多個作業。另一種方法是將max_bad_records設置爲更高的值。

因爲我們在處理導入方面有更大的靈活性,所以我們仍然希望您發佈更少文件的作業。也就是說,最近加載配額的變化意味着您可以提交更多的同時加載作業,並且即將計劃更高的配額。

另請注意,修改BQ狀態(加載,複製,查詢目標表)的所有BigQuery操作都是原子操作;唯一不是原子的作業類型將被提取,因爲在寫出一些導出的數據後,它可能會失敗。