Ограничить запросы поверх многораздельных таблиц, чтобы выбрать разделы в BigQuery - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь найти способ предотвратить ошибочное чтение пользователями всех разделов из многораздельной таблицы.В улье Apache то же самое может быть достигнуто с использованием строгого режима, чтобы гарантировать, что запросы выбирают определенные разделы или ограничивают результаты.

О строгом режиме в Hive.

Режим, в котором выполняются операции Hive.В строгом режиме некоторые рискованные запросы не разрешаются.Например, полное сканирование таблиц запрещено (см. HIVE-10454), и ORDER BY требует предложение LIMIT.

Есть идеи, как реализовать это, не создавая разные таблицы для каждого раздела или представления?Спасибо,

1 Ответ

2 голосов
/ 04 апреля 2019

Любые идеи, как реализовать это без создания разных таблиц для каждого раздела или представлений

При создании таблицы установите параметр Требуется фильтр разделов , который заставит пользователей использовать фильтр разделов при доступе к таблице

Это флажок в веб-интерфейсе

enter image description here

или вы можете использовать команду DML, как описано в этой ссылке


    #standardSQL
     CREATE TABLE mydataset.newtable
     (
       x INT64 OPTIONS(description="An optional INTEGER field")
     )
     PARTITION BY DATE(_PARTITIONTIME)
     OPTIONS(
       <b>require_partition_filter = true</b>
     )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...