CLUSTER BY
-Klausel (TABLE)
Gilt für: Databricks SQL Databricks Runtime 13.3 LTS und höher 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
-
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) 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;