Clause CLUSTER BY
(TABLE)
S’applique à : Databricks SQL Databricks Runtime 13.3 LTS et versions ultérieures Delta Lake uniquement
Permet de définir un clustering multidimensionnel pour une table Delta Lake.
Vous pouvez utiliser cette clause lorsque vous effectuez l’opération suivante :
- Créer une table en utilisant CREATE TABLE
- Modifiez une table avec ALTER TABLE pour modifier des colonnes du clustering. Pour mettre en cluster des lignes avec des colonnes de clustering modifiées, vous pouvez exécuter OPTIMIZE. Notez que les lignes mises en cluster par des colonnes de clustering antérieures ne sont pas affectées.
Les lignes mises à jour ne sont pas automatiquement remises en cluster. Exécutez OPTIMIZE pour remettre en cluster des lignes mises à jour.
Pour obtenir plus d’informations sur le clustering liquide, voir Utiliser des clustering liquides pour les tableaux Delta
Syntaxe
CLUSTER BY { ( column_name [, ...] ] ) |
NONE }
Paramètres
-
Permet de spécifier les colonnes de la table pour la mise en cluster des données. L’ordre de la colonne n’a pas d’importance. Pour tirer profit de la modification de clustering, vous devez exécuter OPTIMIZE.
NONE
Permet de désactiver le clustering de la table en cours de modification. Les données mises à jour ou nouvellement insérées ne sont pas mises en cluster par OPTIMIZE. Omettez la clause
CLUSTER BY
pour ne pas utiliser le clustering lorsque vous créez une table.
Exemples
D’autres exemples sont disponibles dans Utiliser le clustering liquide pour les tables 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;