- 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 提供了此故障安全機制。
廣告