- BigQuery 教程
- BigQuery - 首页
- BigQuery - 概述
- BigQuery - 初始设置
- BigQuery 与本地 SQL 引擎
- BigQuery - Google Cloud Console
- BigQuery - Google Cloud 层级结构
- 什么是 Dremel?
- 什么是 BigQuery Studio?
- BigQuery - 数据集
- BigQuery - 表
- BigQuery - 视图
- BigQuery - 创建表
- BigQuery - 基本模式设计
- BigQuery - 修改表
- BigQuery - 复制表
- 删除和恢复表
- BigQuery - 填充表
- 标准 SQL 与传统 SQL
- BigQuery - 编写第一个查询
- BigQuery - CRUD 操作
- 分区和聚类
- BigQuery - 数据类型
- BigQuery - 复杂数据类型
- BigQuery - STRUCT 数据类型
- BigQuery - ARRAY 数据类型
- BigQuery - JSON 数据类型
- BigQuery - 表元数据
- BigQuery - 用户定义函数
- 连接到外部数据源
- 集成计划查询
- 集成 BigQuery API
- BigQuery - 集成 Airflow
- 集成连接的表单
- 集成数据传输
- BigQuery - 物化视图
- BigQuery - 角色和权限
- BigQuery - 查询优化
- BigQuery - BI 引擎
- 监控使用情况和性能
- BigQuery - 数据仓库
- 挑战和最佳实践
- BigQuery 资源
- BigQuery - 快速指南
- BigQuery - 资源
- BigQuery - 讨论
BigQuery - 删除和恢复表
在 BigQuery 中删除表
删除表提供了相同的两个选项:UI 和**SQL 语法**。要在 UI 中删除表,只需选择要删除的表并选择“删除表”。由于这是一个永久性操作,您将在删除之前被提示输入表名。
**注意** - 您也可以在 SQL 环境中 DROP 表。
要**仅删除表的内容**并**保留数据**,您可以使用 DELETE 命令,该命令需要 WHERE 子句。
要**在不带参数的情况下删除任何内容**,可以使用以下查询 -
DELETE FROM project.dataset.table WHERE 1=1
**注意** - 请谨慎使用此查询。
在 BigQuery 中恢复表
尽管有删除的两个步骤,但仍然很容易意外地 DROP 或删除表。因此,BigQuery 的创建者意识到可能需要为用户提供一种方法来恢复过早删除的表。
BigQuery 表快照
在 SQL 环境中创建和使用表时,这一点并不明显,但在后台,BigQuery 会自动保存您的工作——在一定程度上。
BigQuery 使用“快照”定期保存表,作为提供立即备份的一种方式,以备不时之需。需要注意的是,如果用户从快照还原表,他们实际上并没有还原其原始表——他们只是还原到表快照或副本。
此工具并非没有约束。BigQuery 表快照仅保留 7 天。因此,只能在初始删除后的 7 天内恢复已删除的表。
两种恢复表的方法
BigQuery 提供两种恢复表的方法。顺便说一句,它们都不使用 BigQuery SQL。它们需要通过**gcloud 命令行**或通过**访问 API**以编程方式访问 BigQuery。任一语句都将依赖于选择要还原到的快照的正确时间戳。
1. Gcloud 命令
在这里,命令“bq cp”是“bq copy”。“No-clobber”是一个参数,它将指示命令如果目标表不存在则失败。
bq cp \ – restore \ – no-clobber \ –snapshot_project_id.snapshot_dataset_id.snapshot_table_id \ –target_project_id.target_dataset_id.target_table_id
2. Python 函数
理想情况下,开发人员将实施预防措施以避免恢复的需要。但是,如果最坏的情况发生,BigQuery 提供了此故障安全机制。
广告