Partager 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

Définit un groupement liquide et multidimensionnel d'une relation.

Azure Databricks recommande d’utiliser le clustering liquide automatique et l’optimisation prédictive pour toutes les tables managées du catalogue Unity. Ces fonctionnalités fournissent une optimisation intelligente de la disposition des données en fonction de vos modèles d’utilisation des données.

Vous pouvez utiliser cette clause lorsque vous effectuez l’opération suivante :

  • Créez une table à l’aide de CREATE TABLE.

  • Modifiez une table avec ALTER TABLE pour modifier les colonnes de clustering.

    Pour clusterr des lignes avec des colonnes de clustering modifiées, vous devez exécuter OPTIMIZE. Notez que les lignes mises en cluster par des colonnes de clustering antérieures ne sont pas affectées.

    Vous ne pouvez pas modifier les colonnes de regroupement des vues matérialisées ou des tables de diffusion en stream avec ALTER TABLE.

  • Créez une vue matérialisée à l’aide de CREATE MATERIALIZED VIEW.

  • Créez une table de diffusion en continu à l’aide de CREATE STREAMING TABLE.

Les lignes mises à jour ne sont pas automatiquement remises en cluster. Exécutez OPTIMIZE pour reclassifier les lignes mises à jour.

Pour plus d’informations sur le clustering liquide, consultez Utiliser le clustering liquide pour les tables.

Syntaxe

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

Paramètres

  • nom_de_colonne

    Spécifie les colonnes de la relation par laquelle clusterr les données. L’ordre de la colonne n’a pas d’importance. Pour tirer parti de la modification du clustering, vous devez exécuter OPTIMIZE.

  • AUTO

    S’applique à :coché oui Databricks SQL coché oui Databricks Runtime 15.4 et versions ultérieures

    Oriente Delta Lake pour déterminer automatiquement puis au fil du temps s’adapter aux meilleures colonnes à regrouper. Pour plus d’informations sur le clustering liquide, consultez Utiliser le clustering liquide pour les tables.

  • NONE

    Désactive le clustering pour la relation en cours de modification. Les données nouvellement insérées ou mises à jour ne seront pas regroupées par OPTIMIZE. Pour ne pas utiliser le clustering lors de la création d’une relation, omettez la CLUSTER BY clause.

Exemples

Vous trouverez d’autres exemples dans Utiliser le clustering liquide pour les tables.

-- 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;