# #google-bigquery #bq
Вопрос:
При копировании данных из одной таблицы в другую требуется bq cp
ли, чтобы две таблицы имели одинаковую схему?
Причина, по которой я спрашиваю, заключается в том, что я создаю процесс для восстановления таблицы в заданный момент времени. Я надеялся, что я мог бы использовать сервис BigQuery время путешествий функция используется для установки текущего состояния таблицы с тем, что было в данной точке в течение последних 7 дней однако я не думаю, что путешествия во времени позволяет это сделать; он только позволяет читать данные, которые в тот момент (который до сих пор небывалую мощь кстати), но не задать текущее состояние, чтобы быть такой, какой она была в тот момент.
следовательно, то, что я предлагаю, это:
- скопируйте данные из таблицы в новую таблицу
bq cp {original_table}@{timestamp} {copy_table}
- усеките исходную таблицу
bq query --nouse_legacy_sql "truncate table {original_table}"
- перезапишите исходную таблицу скопированными данными
bq cp {copy_table} {original_table}
Прежде чем я попробую это сделать, сработает ли это? А также (как указано в теме) для того, чтобы bq cp
операция работала, когда целевая таблица уже существует, должны ли две схемы иметь точно такую же схему?