Комментарии 12
В конце апреля в превью выкатили фичу configure time travel window.
Я бы добавил что в Cloud Shell приходится лезть если нет локально установленного Google Cloud SDK. Если есть, то же можно в своей консоли сделать.
Запуск и ответ на команду в нашей консол
там на скриншоте merge-inn старательно не затерто в одном месте :)
И ID после bqjob_... лучше тоже затереть, чтобы номер проекта не светить.
Если вы не удалили таблицу, а лишь повредили ее, применив ненужную операцию
Во-первых, из текста совершенно непонятно, какой тип повреждения будет восстанавливаться - только повреждение данных, только повреждение структуры, и то, и другое одновременно. Полагаю, есть смысл устранить эту недосказанность.
Во-вторых, факт повреждения может быть выявлен не сразу, и в повреждённую таблицу уже могут лечь какие-то новые данные (и/или изменены существующие). Кстати, вы несколько раз акцентируетесь на том, что на исправление есть неделя - то есть корректировка данных более вероятна, чем отсутствие корректировки. Простой откат в прошлое благополучно "грохнет" все эти изменения. Понимаю, что в этом случае никакого простого и в то же время общего решения, пожалуй, нет, но о возможности такой проблемы есть смысл хотя бы сказать.
1) В BigQuery как таковую структуру сломать сложно. Худший вариант -- создать новую таблицу на месте старой с совершенно другой схемой. Вариант "bq cp" восстановит в оригинальной форме (я помню раньше была проблема, но она решена вроде была)
2) Как и с любым бакапом. Если что-то сломали, откат к бакапу теряет всё что было внесено с момента бакапа.
Особенно функция все же полезна для аналитики -- когда итеративно обрезаешь большие объёмы и внезапно КАААК "ой, а я вот тут шага 3 назад сделал оч оч не правильно". Бакапы в таких случаях редко когда хранишь. Но есть time travel в BigQuery :)
В BigQuery как таковую структуру сломать сложно.
Ну если учесть, что в BigQuery есть ALTER TABLE, то процитированное утверждение более чем сомнительно. Удаление не того поля или ошибочное изменение типа - да как два пальца.
https://cloud.google.com/bigquery/docs/managing-table-schemas#change_a_columns_data_type
Удаления поля нет.
Изменить тип можно только на приводимый.
Удаления поля нет.
Delete a column
https://cloud.google.com/bigquery/docs/managing-table-schemas#delete_a_column
ALTER TABLE DROP COLUMN
statement
В Гугловском блоге как раз про то, как автоматизировать бэкапы в BigQuery делая периодические снимки таблиц. Это часто фактически бесплатно (при использовании snapshots оплата только за данные которые изменились или удалены в рабочей таблице), выглядит очень разумно
https://medium.com/google-cloud/automate-bigquery-snapshots-at-dataset-level-5ea886d9c1bc
BigQuery. Что делать, если повредил или случайно удалил таблицы