Partage via


Clause CLUSTER BY (TABLE)

S’applique à : coche marquée oui Databricks SQL coche marquée oui Databricks Runtime 13.3 LTS et versions ultérieures case marquée oui 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

  • column_name

    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;