2016-07-18 2 views
2

Наш прецедент для BigQuery немного уникален. Я хочу начать использовать Date-Partitioned Tables, но наши данные очень возможны. Он не встает, когда он возникает, но в конце концов, когда он предоставляется серверу. Время от времени это может быть дни или даже месяцы, прежде чем вставлять какие-либо данные. Таким образом, атрибут _PARTITION_LOAD_TIME бесполезен для нас.Google Big Query - таблицы с разбивкой по срокам с конечными данными

Мой вопрос в том, как я могу указать столбец, который будет действовать как аргумент _PARTITION_LOAD_TIME и по-прежнему иметь преимущества таблицы с разбивкой по дате? Если бы я мог эмулировать это вручную и иметь соответствующее обновление BigQuery, то я могу начать использовать таблицы Date-Partitioned.

У кого-нибудь есть хорошее решение?

ответ

2

Вам не нужно создавать свой столбец.
_PARTITIONTIME псевдо-столб все еще будет работать для вас!
Единственное, что вам нужно сделать, это вставить/загрузить соответствующие пакеты данных в соответствующий раздел, указав не только имя таблицы, но таблицу с разделителем разделов - например, ваша таблица $ 20160718
Таким образом вы можете загружать данные в раздел, который он принадлежит

+0

Отлично, так как я уже делаю это, разделяя мои таблицы. Мне просто нужно изменить, как я его упоминаю. :) – Dovy

+0

Что может быть с массивной таблицей, а затем с помощью столбца, чтобы разделить его на таблицу с разделом по дате? Возможно ли это, или лучше всего создавать отдельные таблицы, а затем преобразовывать в таблицу даты и времени? – Dovy

+0

Если у вас уже есть (с суффиксами YYYMMDD) - я бы рекомендовал преобразовать их в секционированные таблицы - см. Подробности в https://cloud.google.com/bigquery/docs/creating-partitioned-tables#converting_dated_tables_into_a_partitioned_table –