Требовать фильтр разделов в представлениях BigQuery - PullRequest
0 голосов
/ 11 сентября 2018

В настоящее время у нас есть несколько авторизованных представлений в большом запросе для различных команд

В настоящее время мы используем столбец partition_date для использования в запросе, чтобы уменьшить объем обрабатываемых данных ( ссылка)

#standardSQL
SELECT
  <required_fields,...>, 
  EXTRACT(DATE FROM _PARTITIONTIME) AS partition_date
FROM
  `<project-name>.<dataset-name>.<table-name>`
WHERE
  _PARTITIONTIME >= TIMESTAMP("2018-05-01")
  AND _PARTITIONTIME <= CURRENT_TIMESTAMP()
  AND <Blah-Blah-Blah>

Однако из-за количества пользователей и данных, которые у нас есть, очень сложно поддерживать качество сценариев больших запросов, что ведет к увеличению стоимости запросов при относительно увеличенном количестве пользователей.,

Я вижу, мы можем использовать --require_partition_filter ( ссылка ) при создании TABLEs.Итак, может ли кто-нибудь помочь мне ответить на следующие вопросы

  • Когда я создаю таблицу с вышеуказанным фильтром, ожидает ли ссылочное представление также условие раздела из-за того, что фильтр раздела включен на уровне таблицы?
  • Из-за количества авторизованных представлений, связанных с имеющимися у нас таблицами, требуются значительные усилия для его преобразования в материализованные представления (таблицы).Есть ли альтернативный способ применить что-то подобное / использовать, например, --require_partition_filter на уровне просмотра?

К вашему сведению, для тех, кто хочет обновить текущую таблицу с помощью вышеуказанного фильтра, я вижу, что мы можем использовать команду bq update ( reference ), которую я планирую использовать длясуществующие секционированные таблицы.

1 Ответ

0 голосов
/ 12 сентября 2018
  1. Да, применяется то же ограничение к таблицам, запрашиваемым через представление.
  2. Нет.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...