Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 13.3 LTS und höher
Nur Delta Lake
Definiert flüssige, mehrdimensionale Clustering für eine Beziehung.
Azure Databricks empfiehlt die Verwendung der automatischen Flüssigclustering- und prädiktiven Optimierung für alle verwalteten Unity-Katalogtabellen. Diese Features bieten eine intelligente Optimierung des Datenlayouts basierend auf Ihren Datennutzungsmustern.
Sie können diese Klausel in folgenden Fällen verwenden:
Erstellen Sie eine Tabelle mit CREATE TABLE.
Ändern Sie eine Tabelle mit ALTER TABLE, um die Clusterspalten zu ändern.
Um Zeilen mit geänderten Clusterspalten zu clustern, müssen Sie OPTIMIZEausführen. Beachten Sie, dass Zeilen, die nach früheren Gruppierungsspalten gruppiert wurden, nicht betroffen sind.
Sie können die Clusterspalten von materialisierten Ansichten oder Streamingtabellen mit
ALTER TABLEnicht ändern.Erstellen einer materialisierten Ansicht mithilfe von CREATE MATERIALIZED VIEW.
Erstellen Sie eine Streamingtabelle mit CREATE STREAMING TABLE.
Aktualisierte Zeilen werden nicht automatisch erneut gruppiert. Führen Sie OPTIMIZE aus, um aktualisierte Zeilen neu zu clustern.
Weitere Informationen zum Flüssigclustering finden Sie unter Verwenden von Flüssigclustering für Tabellen.
Syntax
CLUSTER BY { ( column_name [, ...] ) |
AUTO |
NONE }
Parameter
-
Gibt Spalten der Beziehung an, mit der die Daten gruppiert werden. Die Spaltenreihenfolge spielt keine Rolle. Um von der Änderung des Clusterings zu profitieren, sollten Sie OPTIMIZEausführen.
AUTOGilt für:
Databricks SQL
Databricks Runtime 15.4 und höherWeist Delta Lake an, automatisch die besten Spalten zum Gruppieren zu bestimmen und sich im Laufe der Zeit daran anzupassen. Weitere Informationen zum Flüssigclustering finden Sie unter Verwenden von Flüssigclustering für Tabellen.
NONEDeaktiviert das Clustering für die zu ändernde Beziehung. Neu eingefügte oder aktualisierte Daten werden nicht durch OPTIMIZEgruppiert. Wenn Sie beim Erstellen einer Beziehung kein Clustering verwenden möchten, lassen Sie die
CLUSTER BYKlausel weg.
Beispiele
Weitere Beispiele finden Sie unter Verwenden von Flüssigclustering für 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;