Миграция в кластеризованную таблицу

#google-bigquery

#google-bigquery

Вопрос:

У меня есть таблица в BigQuery, которая разделена по дням, и я хотел бы переместить все строки в другую таблицу в BigQuery, которая разделена по дням, а также сгруппирована по нескольким полям. Я знаю, что могу сделать это с помощью инструкции вставки DML, но это дорого. Есть ли более дешевый обходной путь? Спасибо!

Ответ №1:

Отложенная миграция, за стоимость полного сканирования таблицы

 CREATE TABLE x_new
PARTITION BY y
CLUSTER BY z
AS
SELECT * 
FROM x_old
  

Свободная миграция, путем экспорта

Шаг 1:

 CREATE TABLE x_new
PARTITION BY y
CLUSTER BY z
AS
SELECT * 
FROM x_old
LIMIT 0
  

Шаг 2: Экспортируйте таблицу x_old в GCS (рекомендуется Avro).

Шаг 3: Загрузите экспортированные файлы из GCS в x_new.