2015-05-13 40 views
2

我想截斷GBQ中的一個現有表,但當我運行它時,下面的命令失敗。有沒有特定的命令或語法來做到這一點。我查看GBQ文檔,但沒有運氣。截斷GBQ中的一個表

TRUNCATE TABLE [dw_test.test]; 
+0

請看看https://stackoverflow.com/questions/44651237/how-to-delete-truncate-the-data-in-the-table-using-command-line-in-big-query – aravindderajan

回答

4

的BigQuery不支持TRUNCATE作爲查詢字符串的一部分。 BQ支持的唯一的DDL/DML動詞是SELECT

一個選項是使用WRITE_TRUNCATEwrite disposition運行作業write disposition(鏈接用於查詢作業參數,但它在具有目標表的所有作業類型上均受支持)。這將截斷表中已有的所有數據,並將其替換爲作業結果。

如果您不想用其他數據替換內容或開始作業,最好的選擇可能是刪除並重新創建具有相同模式的表。

+0

如何我可以從BQ控制檯截斷表嗎? – Teja

+2

如果您使用的是Web UI,您可以在高級查詢選項中找到「WRITE_TRUNCATE」配置。在查詢編輯器下,單擊「顯示選項」 - 然後將「寫入首選項」選項設置爲「覆蓋表」。 –

+0

是的,我已經看到了這個選項,但只是想知道是否有任何DDL命令可以像使用標準SQL方言那樣完成它。 – Teja