如何恢复 Big Query 中已删除的行?

Posted

技术标签:

【中文标题】如何恢复 Big Query 中已删除的行?【英文标题】:How to recover deleted rows in Big Query? 【发布时间】:2019-09-03 09:31:29 【问题描述】:

我在 Google Big Query 中运行以下查询:

DELETE FROM mydataset.mytable_wrong

WHERE time = "2019-09-01 13:00:00 UTC"

然后我意识到这是错误的表。我可以以某种方式恢复这些行或撤消查询吗?

该表仍然存在。

谢谢

编辑以添加更多信息: 表已分区。

【问题讨论】:

【参考方案1】:

您可以使用snapshot decorator 查询数据的时间点快照。您可以使用它还原更改。检查how to restore a deleted table,我认为您可以推断来恢复您的数据。

另外,这里有一个similar *** answer 提供更多信息。

【讨论】:

嗨@Guillermo,我看到了那个答案和装饰器文档。非常有用,但我一直有这个错误:Table "project_id.mydataset.mytable_wrong@1567500883493" cannot include decorator。有任何想法吗?顺便说一句,我使用了标准 SQL,当我尝试使用 legacySQL 时,它再次出错并要求我使用标准。并且表也是分区的。 @Lev chan 你检查this answer?显然,对于标准 SQL,您必须使用 FOR SYSTEM_TIME AS OF。至少它适用于已删除的表 @Lev 你在使用FOR SYSTEM_TIME AS OF 时遇到与装饰器相关的错误?这很奇怪。我没有想法,但如果您使用的是标准 SQL,请检查 Query Syntax page,也许您会在那里看到可以帮助查询正常工作的内容 遇到同样的问题,快照装饰器工作了,但数据不存在,我不太明白发生了什么……也许 SQL 删除不起作用?

以上是关于如何恢复 Big Query 中已删除的行?的主要内容,如果未能解决你的问题,请参考以下文章

BIG QUERY SQL:如何在具有相同唯一键但访问期间不同的访问中查找不同的重复集?

除了覆盖表之外,还有其他方法可以更新 Big Query 中的行吗?

如何恢复dojo dgrid中的单个编辑行?

Big Query-如何在 Big Query 中按浏览量、用户每周比较数据

如何从 Postgres Heroku 上的先前备份中恢复特定数据? (例如,意外删除的行)

eclipse中 remove from buildpath啥意思 删除的package如何添加回来