Требуется ли для копирования таблицы, чтобы целевая таблица имела ту же схему?

# #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 операция работала, когда целевая таблица уже существует, должны ли две схемы иметь точно такую же схему?