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


предложение 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

  • column_name

    Указывает 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;