google-cloud-platform - 如何删除大查询分区表?
问题描述
一切都在标题中,我不想一一删除表格。最快的方法是什么?
问候。
解决方案
基本上,您需要删除要删除的分区 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
推荐阅读
- python - Anaconda 导航器(64 位)无法启动
- schema - Apache Avro - Record 复杂类型的类型值
- c# - 当过程处于不同模式时,从 C# 调用 Oracle 过程
- python - 无法格式化(自)JSON 来填写信息
- php - on_sent_ok >> location.replace 已更改
- c# - C# - Process.Start() 操作被用户取消
- javascript - 页面加载时自动滚动到 div 的底部
- r - 如何通过不同文件夹中的多个文件读取并根据从中检索它们的文件夹单独存储它们?
- json - 密钥“身份验证”的值无效
- python - PySide2 + QML:QApplication:通过了无效的样式覆盖,忽略它