2016-12-10 2 views

ответ

2

Да. Вы можете восстановить данные с помощью Table Decorators - в частности, Snapshot Decorator

вы должны выяснить <time> прямо перед тем, как же переписать таблицу и чем запустить ниже запроса с таблицей назначения по вашему выбору

SELECT * FROM [email protected]<time> 

Обратите внимание: это стоимость запроса на эту таблицу
Технически вы можете избежать этой стоимости, используя COPY вместо Query. Итак, вы можете скопировать [email protected]<time>. Копирование бесплатно

bq cp [email protected]<time> <destination_table> 

Подробнее о Copy an existing table

Чтобы следить за S.Mohsen Sh комментарии:

выше подход будет работать, если йо просто переписал таблицу, используя overwrite table предпочтение записи. Но если вы фактически удалили таблицу и создали другую таблицу с тем же именем - я не думаю, что выше будет работать, - вы можете поэкспериментировать!

+0

В документе предполагается, что это работает только с удалением, если данные не перезаписаны, а таблица с тем же именем и разными данными существует; Я прав? есть способ восстановить перезаписанные таблицы? –

+0

он также работает с перезаписанной таблицей. если вы не имеете в виду что-то еще «перезаписанными данными» - просто попробуйте. Он определенно работает для меня –

+1

снова читает ваш комментарий и выглядит так: вы не просто перезаписали данные, но скорее всего удалили исходную таблицу и создали другую таблицу с тем же именем, но с другой схемой - если это случай - я не уверен этот снимок подход поможет. Я думаю, что если вы создадите таблицу позже, вы не сможете восстановить старую таблицу. –

Смежные вопросы