Freigeben über


CLUSTER BY-Klausel (TABLE)

Gilt für:Häkchen ja Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime 13.3 LTS und höher Häkchen gesetzt ja nur Delta Lake

Definiert Liquid Clustering, das mehrdimensionale Clustering für eine Delta Lake-Tabelle.

Sie können diese Klausel in folgenden Fällen verwenden:

  • Erstellen einer Tabelle mit CREATE TABLE
  • Ändern Sie eine Tabelle mit ALTER TABLE, um die Gruppierungsspalten zu ändern. Um Zeilen mit geänderten Gruppierungsspalten zu gruppieren, müssen Sie OPTIMIZE ausführen. Beachten Sie, dass Zeilen, die nach früheren Gruppierungsspalten gruppiert wurden, nicht betroffen sind.

Aktualisierte Zeilen werden nicht automatisch erneut gruppiert. Führen Sie OPTIMIZE aus, um aktualisierte Zeilen erneut zu gruppieren.

Weitere Informationen zu Liquid Clustering finden Sie unter Verwenden von Liquid Clustering für Delta-Tabellen.

Syntax

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

Parameter

  • column_name

    Gibt Spalten der Tabelle an, nach der die Daten gruppiert werden sollen. Die Spaltenreihenfolge spielt keine Rolle. Um von der Änderung des Clusterings zu profitieren, sollten Sie OPTIMIZE ausführen.

  • NONE

    Deaktiviert das Gruppieren für die geänderte Tabelle. Neu eingefügte oder aktualisierte Daten werden durch OPTIMIZE nicht gruppiert. Wenn Sie beim Erstellen einer Tabelle kein Clustering anwenden möchten, lassen Sie die CLUSTER BY-Klausel weg.

Beispiele

Weitere Beispiele finden Sie unter Verwenden von Liquid Clustering für Delta-Tabellen.

-- Create a table with a clustering column
> CREATE TABLE t(a int, b string) USING delta 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;