Поделиться через


CLUSTER BY предложение (TABLE)

Область применения:флажок Databricks SQL флажок Databricks Runtime 13.3 LTS и выше флажок Delta Lake

Определяет ликвидную многомерную кластеризацию для таблицы Delta Lake.

Это предложение можно использовать при выполнении указанных ниже условий.

  • Создание таблицы с помощью CREATE TABLE
  • Измените таблицу с помощью ALTER TABLE , чтобы изменить столбцы кластеризации. Чтобы кластерировать строки с измененными столбцами кластеризации, необходимо запустить OPTIMIZE. Обратите внимание, что строки, кластеризованные предыдущими столбцами кластеризации, не затрагиваются.

Обновленные строки не будут автоматически кластеризованы. Запустите OPTIMIZE для повторного кластера обновленных строк..

Дополнительные сведения о кластеризации с жидкостью см. в разделе "Использование отказоустойчивой кластеризации для разностных таблиц"

Синтаксис

CLUSTER BY { ( column_name [, ...] ] ) |
             NONE }

Параметры

  • column_name

    Указывает столбцы таблицы, с помощью которой следует кластеривать данные. Порядок столбцов не имеет значения. Чтобы воспользоваться изменением кластеризации, следует запустить OPTIMIZE.

  • NONE

    Отключает кластеризацию для измененной таблицы. Недавно вставленные или обновленные данные не будут кластеризованы с помощью OPTIMIZE. Чтобы не использовать кластеризацию при создании таблицы, опустите CLUSTER BY предложение.

Примеры

Дополнительные примеры см. в разделе "Использование отказоустойчивой кластеризации для таблиц Delta".

-- 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;