Как таблица BigQuery работает с полями Partition и Cluster? - PullRequest
0 голосов
/ 10 апреля 2019

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

Теперь BigQuery позволяет также определить до 4 столбцов, которые будут использоваться в качестве поля кластера.

Если я правильно понял, раздел выглядит как PK, а поля кластера - indexes.

Значит, это означает, что поля кластера не имеют ничего общего с тем, как записи сохраняются на диске?

1 Ответ

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

Если я правильно понял, раздел похож на PK

Это неверно, Раздел не используется для идентификации строки в таблице, а позволяет BigQuery сохранять все разделенные данные вдругой сегмент, поэтому, когда вы сканируете таблицу по разделам, вы сканируете ТОЛЬКО указанные разделы и, таким образом, уменьшаете стоимость сканирования

поля кластера похожи на индексы

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

Мне нравится @Felipe image из его среднего поста , который дает хорошую визуализацию того, как хранятся данные.

Примечание: разбиение происходит во время вставки, а кластеризация - как фоновое задание, выполняемое BigQuery

enter image description here

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