Я просто читал на секционированном столе на BigQuery и не мог понять раздел лучшей практики. Я попытался запустить следующиеКак запросить таблицу разделов в BigQuery
#standardSQL
SELECT *
FROM `myproject.affiliate.log_20170101`
WHERE _PARTITIONTIME BETWEEN TIMESTAMP_TRUNC(TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 * 24 HOUR),DAY)
AND TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(),DAY);
на основе этого documentation link
Но я получаю эту ошибку,
Error: Unrecognized name: _PARTITION_TIME;
Что я делаю неправильно? И как это отличается от подстановочных запросов?
I Я удивлен, как быстро ты это заметил. Да, таблицы по дате, которые, как я думал, были разделены, были просто закрытыми таблицами. Мне интересно, насколько отличаются производительность и удобство использования между секционированными и оштукатуренными таблицами – dorachan2010
. Мое личное предположение заключалось бы в том, чтобы перейти к секционированным таблицам. В то время - только закрытые столы были доступны, поэтому выбора не было. Но теперь - разделенный путь. См. Больше в ссылках, представленных в моем ответе –
Да, я прочитал статьи, но они не дали ясных примеров того, как они отличаются по производительности или удобству использования. Синтаксис определения диапазона дат не кажется более простым при использовании секционированных – dorachan2010