如何恢复 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 中的行吗?
Big Query-如何在 Big Query 中按浏览量、用户每周比较数据