Кластерные таблицы BigQuery: как создать несколько кластеров - PullRequest
0 голосов
/ 26 мая 2020

Моя таблица BigQuery обычно запрашивается с различными комбинациями условий «где» в одном или нескольких общих столбцах, например, в столбцах A, B, C (не по порядку). Следовательно, я хотел бы добавить отдельные кластеры для столбцов A, B и C соответственно.

Как я могу создать несколько кластеров для таблиц BigQuery? (Аналогично тому, как можно создать несколько индексов в традиционной таблице rdbms)

Ответы [ 2 ]

1 голос
/ 26 мая 2020

Разрешена множественная кластеризация (но она иерархическая, вы кластеризуете по указанному полю c, а затем подкластируете по следующему, и т. Д. c).

В то же время кластеризация только разрешено для многораздельных таблиц.

Вы можете найти соответствующую документацию здесь

0 голосов
/ 30 мая 2020

При просмотре некоторых комментариев и страниц выясняется, что нет способов создать несколько независимых кластеров (в отличие от того, как можно создать несколько индексов в традиционных rdbms) в одной таблице bigquery.

Это потому, что кластеры в значительной степени просто отсортируйте блоки данных этой таблицы согласно docs :

Когда данные записываются в кластеризованную таблицу с помощью задания запроса или задания загрузки, BigQuery сортирует данные используя значения в столбцах кластеризации. Эти значения используются для организации данных в несколько блоков в хранилище BigQuery. Когда вы отправляете запрос, содержащий предложение, которое фильтрует данные на основе столбцов кластеризации, BigQuery использует отсортированные блоки, чтобы исключить сканирование ненужных данных.

Следовательно, кажется, что нет возможности применить множественная сортировка logi c для каждого независимого кластера по одному и тому же набору данных, поэтому то, что мне нужно, на данный момент кажется невозможным.

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