我在bigquery中删除了视图。我开始知道有一个选项可以根据表快照装饰器恢复已删除的表。有没有办法检索已删除的bigquery视图?
答案 0 :(得分:5)
有一种方法可以找回它。您需要搜索在创建视图时滚动的插入日志。从堆栈驱动程序日志中可以看到此日志。步骤如下:
转到GCP控制台
单击堆栈驱动程序日志记录
resource.type="bigquery_resource"
protoPayload.methodName="tableservice.insert"
protoPayload.serviceData.tableInsertRequest.resource.tableName.tableId="Your_view_name"
或者,如果要搜索视图更新以恢复特定版本,则可以使用以下过滤器:
resource.type="bigquery_resource"
protoPayload.serviceData.tableUpdateRequest.resource.tableName.datasetId="<dataset_id>"
protoPayload.resourceName="projects/<project_id>/datasets/<dataset_id>/tables/<table_or_view_id>"
我希望这可以帮助您恢复BQ视图。
答案 1 :(得分:3)
不幸的是,我不认为这是可能的。我刚刚使用Jordan的方法测试了here所描述的取消删除表的方法,但它没有用。我还尝试获取查询视图的作业的详细信息,希望它能在视图后面显示SQL,但是,唉,它只显示视图的实际SQL。
除非有一个BigQuery工程师有伎俩,否则我会想到另一种方式,我认为它已经消失了。
这是一个很好的例子,说明为什么我们强迫开发人员将他们的SQL /视图放在源代码控制中。