2016-12-27 32 views
2

我有一个数据集,其中包含几个不同的表格。对于其中一个表,它有100个分区。我想删除/删除具有特定名称的表的所有分区。使用Bigquery中的分区删除表格

例如,我在下面的一个数据集中。到目前为止,我一次只能删除一个分区。无论如何,我可以删除所有的TableA分区吗?

tableA_20161220 tableA_20161221 tableA_20161223 tableB_20161220 tableB_20161221 tableB_20161223

回答

0

从Web UI,你可以一次删除只有一个表。

总体而言,BigQuery的tables.delete API同时

只接受一个表使用client of your choicecommand line可以“脚本”,以充分使这个过程或半自动化删除在一个循环所需的表。

2

正如Mikhail已经指出的那样,您使用API​​编写脚本。

我们经常使用CLI执行此类任务。这个小片段应该足以让你走了。只是要小心使用它,因为它执行'force'删除即无确认:

bq ls --format=csv <DATASET> | awk '{if(NR>1)print}' | awk -F, '{print $1}' | grep 'A' | xargs -n 1 -P 4 -i bq rm -f <DATASET>.{} 
相关问题