2017-09-13 39 views
3

我有一個問題圍繞在Big Query中的WRITE_TRUNCATE行爲。WRITE_TRUNCATE在Big Query中的行爲

我有一個很大的查詢表(T1),我週期性地用日誌數據(每個日誌行一行)追加到這個表中。我想要有一個數據流作業(D1)從該表中讀取,刪除任何重複行並執行其他數據清理操作,然後將其輸出到另一個大查詢表(T2),替換可能已經存在的任何數據已出現在此表中。我相信我可以通過在數據流作業中的BigQuery.IO接收器中使用WRITE_TRUNCATE write disposition來實現此目的。

問題是,如果我有另一個數據流任務(D2)從表T2讀書而工作D1是在寫截斷的中間這個表中,哪些數據不D2看到,即它是否以截斷前或截斷結束後的狀態查看錶。或者它可以在截斷期間的任何步驟中看到表格(例如通過附加新數據的一部分)?

上面鏈接的javadoc表明截斷可能不是是原子,而REST documentation for Big Query表示它是。

回答

3

的REST API實際上是真理,這裏的來源,即改變原子大量查詢工作的成功完成。