предложение CLUSTER BY
(TABLE)
Область применения:Databricks SQL Databricks Runtime 13.3 LTS и выше Delta Lake
Определяет гибкую многомерную кластеризацию для Delta Lake table.
Это предложение можно использовать при выполнении указанных ниже условий.
- Создайте table с помощью CREATE TABLE
- Измените table на ALTER TABLE, чтобы изменить кластеризацию columns. Для кластеризации строк с измененной кластеризацией columnsнеобходимо запустить OPTIMIZE. Обратите внимание, что строки, сгруппированные предыдущей кластеризацией columns, не затрагиваются.
Обновленные строки не get автоматически кластеризованы. Запустите OPTIMIZE для перекластеризации обновленных строк.
Дополнительные сведения о кластеризации жидкости см. в разделе Использование кластеризации жидкости для Delta tables
Синтаксис
CLUSTER BY { ( column_name [, ...] ] ) |
NONE }
Parameters
-
Указывает columnstable, с помощью которого данные следует объединить в кластеры. Порядок column не имеет значения. Чтобы воспользоваться изменениями в кластеризации, следует запустить OPTIMIZE.
NONE
Отключает кластеризацию для измененного table. Недавно вставленные или обновленные данные не будут кластеризованы по OPTIMIZE. Чтобы не использовать кластеризацию при создании table, опустите предложение
CLUSTER BY
.
Примеры
Дополнительные примеры см. в разделе Использование кластеризации жидкости для Delta tables.
-- Create a table with a clustering column
> CREATE TABLE t(a int, b string) CLUSTER BY (a);
-- The clustering of an existing Delta table to add a second dimension
> ALTER TABLE t CLUSTER BY (a, b);
-- Recluster the table
> OPTIMIZE t;
-- Remove the clustering
> ALTER TABLE t CLUSTER BY NONE;