如何取消删除BigQuery表?

乔丹·提加尼(Jordan Tigani)

我不小心删除了其中一个BigQuery表。有可能找回来吗?该API似乎不支持取消删除。

乔丹·提加尼(Jordan Tigani)

通过表格复制和快照装饰器可以在BigQuery中取消删除。也就是说,您可以从删除表之前复制该表的快照。

BigQuery过去对取消删除有限制,但是随着时间的流逝,这些限制已被删除。

这是使用的示例bq,但是您可以使用BigQuery Web UI进行相同的操作。

首先让我们创建一个虚拟的bigquery数据集和要删除的表:

$ bq mk -d dataset1
Dataset 'helixdata2:dataset1' successfully created.
$ bq query --destination_table=dataset1.table1 "SELECT 17 as a"
Waiting on bqjob_ra0dedbee5cb4228_0000014a5af133d6_1 ... (0s) 
Current status: DONE   
+----+
| a  |
+----+
| 17 |
+----+

现在,从表处于活动状态开始获取当前的unix时间戳。

$ date +%s
1418864998

请注意,此时间以秒为单位,我们需要几毫秒的时间。

意外删除表

$ bq rm dataset1.table1
rm: remove table 'helixdata2:dataset1.table1'? (y/N) y

现在我们可以通过复制快照来取消删除表:

$ bq cp dataset1.table1@1418864998000 dataset1.temp
Waiting on bqjob_r4d8174e2e41ae73_0000014a5af2a028_1 ... (0s) 
    Current status: DONE    
Tables 'helixdata2:dataset1.table1@1418864998000' successfully copied to     
    'helixdata2:dataset1.temp'

(请注意,由于需要毫秒,因此我们将时间乘以1000)将表的旧快照复制到dataset1.temp让我们将其复制回旧位置,然后删除临时表。

$ bq cp dataset1.temp dataset1.table1
Waiting on bqjob_r3c0bb9302fb81d59_0000014a5af2dc7b_1 ... (0s) 
    Current status: DONE    
Tables 'helixdata2:dataset1.temp' successfully copied to 
    'helixdata2:dataset1.table1'
$ bq rm dataset1.temp
rm: remove table 'helixdata2:dataset1.temp'? (y/N) y

现在,让我们验证表是否已还原:

$ bq query "select * from dataset1.table1"
Waiting on bqjob_r5967bea49ed9e97f_0000014a5af34dec_1 ... (0s) 
    Current status: DONE   
+----+
| a  |
+----+
| 17 |
+----+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Github程序包注册表中删除/删除/取消链接/取消版本包

来自分类Dev

如何使用标准 sql 从 BigQuery 表中删除分区?

来自分类Dev

使用通配符删除BigQuery表

来自分类Dev

如何分片BigQuery表?

来自分类Dev

如何在BigQuery中取消透视?

来自分类Dev

从BigQuery表中删除重复的行

来自分类Dev

如何取消或删除持久性EJBTimers

来自分类Dev

如何取消删除btrfs分区上的文件?

来自分类Dev

jstree:如何取消删除/还原节点

来自分类Dev

如何删除或取消设置Javascript变量

来自分类Dev

如何取消隐藏丢失的隐藏工作表?

来自分类Dev

如何在PostgreSQL中取消透视表

来自分类Dev

如何取消隐藏“非常隐藏”工作表

来自分类Dev

如何取消在SQL Server中的表?

来自分类Dev

如何选择/取消选择表中的行?

来自分类Dev

如何在 BigQuery standardSQL 中取消嵌套多个数组

来自分类Dev

Swift:如何使用“编辑”按钮删除并取消滑动以删除?

来自分类Dev

如何删除 BigQuery 架构中的重复字段?

来自分类Dev

BigQuery SQL根据条件从目标表中删除行

来自分类Dev

BigQuery SQL根据条件从目标表中删除行

来自分类Dev

BigQuery 重复数据删除和分区表

来自分类Dev

是否可以从 Google BigQuery 的分区表中删除列?

来自分类Dev

如果表在保留期内被删除,Bigquery 会收费吗?

来自分类Dev

如何使用BigQuery模拟数据透视表?

来自分类Dev

BigQuery如何查询相同结构的多个表?

来自分类Dev

如何提高表扫描的BigQuery性能?

来自分类Dev

如何使用数组更新bigquery表?

来自分类Dev

如何获取bigquery表的聚类信息

来自分类Dev

如何加快 BigQuery 中的通配符表查询?

Related 相关文章

热门标签

归档