Нужно ли использовать псевдо-столбец _PARTITIONTIME при запросе из таблицы с разделенными столбцами? - PullRequest
0 голосов
/ 28 апреля 2020

Я создал таблицу с разделением по времени в BigQuery, используя столбец даты из самой таблицы:

new_table.time_partitioning = bigquery.TimePartitioning(field='date')

Я запрашиваю данные простым запросом следующим образом:

SELECT * FROM t where date="2020-04-08"

Мой вопрос заключается в том, достаточно ли этого для запроса разбиения и, следовательно, снижения затрат, или мне нужно добавить также псевдостолбцы _PARTITIONTIME, как указано в разделе Запрос к секционированным таблицам ?

SELECT * FROM t where _PARTITIONTIME = TIMESTAMP("2020-04-08")

1 Ответ

1 голос
/ 28 апреля 2020

Быстрый ответ: SELECT * FROM t where date="2020-04-08" достаточно для того, чтобы вы включили "сокращение раздела" и снизили стоимость.

Более длинный ответ всегда можно получить в пользовательском интерфейсе, чтобы узнать, правильно ли задействован фильтр раздела для определенного запроса:

SELECT * FROM `bigquery-public-data.crypto_bitcoin.transactions` 
WHERE block_timestamp_month >= "2020-01-01" 

В этом месяце -> enter image description here

С начала года -> enter image description here

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