2015-05-04 127 views

回答

15

發現:

BQ RM -f -t data_set.table_name

-t爲表 -f爲力

偉大的工具。

+5

有沒有一種方法來批量刪除多個表? – activelearner

+0

@activelearner你可以使用'-r。使用-r,刪除指定數據集中的所有表 – prabeesh

4

有沒有辦法批量刪除多個表? - activelearner

在bash,你可以這樣做:

for i in $(bq ls -n 9999 my_dataset | grep keyword | awk '{print $1}'); do bq rm -ft my_dataset.$i; done; 

說明:

  • bq ls -n 9999 my_dataset - 名單多達9999個表在我的數據集
  • | grep keyword - 管結果將以前的命令轉換爲grep,搜索一張表格有共同的關鍵字
  • | awk '{print $1}' - 管道上一個命令的結果爲AWK並打印第一列
  • 總結所有進入一個for循環
  • do bq rm -ft my_dataset.$i; done; - 從數據集中刪除的每個表

我會強烈建議運行在添加'do bq rm'之前列出您想要刪除的表的命令。通過這種方式,您可以確保只刪除實際想要刪除的表。

0

我使用的命令行for loop刪除月表的數據,但是這依賴於你的餐桌命名:

for %d in (01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31) DO bq rm -f -t dataset.tablename_201701%d

相關問題