как легко преобразовать разделенную таблицу старого стиля в разделенную таблицу нового стиля - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть секционированная таблица с именем вроде mytable_*, где суффикс обозначает дату.

Теперь я хотел бы преобразовать это в новый способ разделения таблиц в больших запросах, т.е.со столбцом _partitiondate и т. д.

Я думал о создании схемы новой таблицы на основе старой, а затем о вставке в нее данных, но я не уверен, как поставить значение даты (то естьсуффикс) старой таблицы в поле _partitiondate.

1 Ответ

0 голосов
/ 09 февраля 2019

Если вы ранее создали таблицы с разделением по дате, вы можете преобразовать весь набор связанных таблиц в одну многораздельную таблицу времени приема, используя команду partition в инструменте командной строки bq.Таблицы с датой должны использовать следующие правила именования: [TABLE] _YYYYMMDD.Например, mytable_20160101, ..., mytable_20160331.

Для этого вы должны использовать команду bq partition, как в примере ниже

bq --location=[LOCATION] partition --time_partitioning_type=DAY --time_partitioning_expiration [INTEGER] [PROJECT_ID]:[DATASET].[SOURCE_TABLE]_ [PROJECT_ID]:[DATASET].[DESTINATION_TABLE]    

Более подробную информацию / опции вы можете увидеть в следующих статьях

Конвертация даты-сегментированные таблицы в секционированные таблицы времени приема

и

bq разбиение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...