所有内容都在标题中,我不想一一删除表格。 最快的方法是什么?
致谢。
答案 0 :(得分:1)
删除时间分区表和所有 其中的分区与删除标准的过程相同 桌子。
因此,如果删除分区表而不指定分区,它将删除所有表。您不必一一删除。
DROP TABLE <tablename>
答案 1 :(得分:1)
基本上,您需要删除要删除的已分区BQ表的所有分区。
假设您已经安装了gcloud ...下一步:
使用已登录的终端(检查/设置)GCP项目:
$> gcloud config list
-检查您是否使用了正确的GCP项目。
$> gcloud config set project <your_project_id>
-设置所需的项目
导出变量:
$> export MY_DATASET_ID=dataset_name;
$> export MY_PART_TABLE_NAME=table_name_;
-指定没有分区日期/值的表名,因此此示例的实际分区表名看起来像->“ table_name_ 20200818 ”
再次检查是否要通过运行此命令删除正确的表/分区(它只会列出表的所有分区):
for table in `bq ls --max_results=10000000 $MY_DATASET_ID | grep TABLE | grep $MY_PART_TABLE_NAME | awk '{print $1}'`; do echo $MY_DATASET_ID.$table; done
检查运行几乎相同的命令后,再加上该迭代参数化的bq remove命令,以实际删除所有分区,最终删除表本身:
for table in `bq ls --max_results=10000000 $MY_DATASET_ID | grep TABLE | grep $MY_PART_TABLE_NAME | awk '{print $1}'`; do echo $MY_DATASET_ID.$table; bq rm -f -t $MY_DATASET_ID.$table; done