Могу ли я найти количество микроразделов, используемых в Snowflake, по определенной таблице? - PullRequest
0 голосов
/ 09 ноября 2019

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

Ответы [ 2 ]

2 голосов
/ 09 ноября 2019

Когда вы запрашиваете данные из таблицы, скажем, выберите * из или любой другой запрос к этой таблице, на странице профиля вы увидите информацию об обрезке.

Пример:

Обрезка

Сканированные разделы 1,505

Всего разделов. 50,262

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

select SYSTEM $ CLUSTERING_INFORMATION ('', '([, .. .]) ')

1 голос
/ 10 ноября 2019

Чтобы добавить к вышеупомянутым ответам: 1) Использование профиля запроса Выполните запрос к таблице, чтобы сгенерировать профиль запроса, но постарайтесь сделать запрос более эффективным, например, добавив предложение LIMIT, чтобы ограничить число возвращаемых строк, и с помощьюизбегать SELECT STAR (потому что Snowflake - это хранилище столбцов, и в целом для производительности важно получить столько столбцов, сколько необходимо).

2) Использование SYSTEM $ CLUSTERING_INFORMATION Каждая таблица в Snowflake кластеризована. Это вопрос «естественной кластеризации» (выполняется системой автоматически) или «явной кластеризации» (пользователь указывает ключ кластеризации).
Для естественной кластеризации (где записи будут храниться в соответствии с порядком приема), пользователь все еще можетиспользуйте функцию. Пример использования наборов данных TPCH образца общей базы данных (которые естественно кластеризованы): SELECT SYSTEM $ CLUSTERING_INFORMATION ('Snowke_sample_data.tpch_sf1.orders', '(o_orderpriority)');

- результат запроса показывает, что таблица заказов имеет10 микроперегородок.
{"cluster_by_keys": "LINEAR (O_ORDERPRIORITY)", "total_partition_count": 10, "total_constant_partition_count": 0, "medium_overlaps": 9.0, "average_depth": 10.0, "partition_depth_hisgram"00000 ": 0," 00001 ": 0," 00002 ": 0," 00003 ": 0," 00004 ": 0," 00005 ": 0," 00006 ": 0," 00007 ": 0," 00008 ": 0, «00009»: 0, «00010»: 10, «00011»: 0, «00012»: 0, «00013»: 0, «00014»: 0, «00015»: 0, «00016»: 0}}

...