Dela via


CLUSTER BY-klausul (TABLE)

Gäller endast för:markerad ja Databricks SQL markerad ja Databricks Runtime 13.3 LTS och ovanför markerad ja Delta Lake

Definierar flytande, flerdimensionell klustring för en Delta Lake-table.

Du kan använda den här satsen när du:

  • Skapa en table med CREATE TABLE
  • Ändra en table till ALTER TABLE för att ändra klustring columns. Om du vill klustra rader med ändrad klustring columnsmåste du köra OPTIMIZE. Observera att rader som grupperats av tidigare klustring columns inte påverkas.

Uppdaterade rader get grupperas inte om automatiskt. Kör OPTIMIZE för att omklustera uppdaterade rader..

Mer information om flytande klustring finns i Använd flytande klustring för Delta tables

Syntax

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

Parameters

  • column_name

    Anger columns av table som data ska klustras med. Ordningen column spelar ingen roll. Om du vill ha nytta av att ändra klustring bör du köra OPTIMIZE.

  • INGEN

    Inaktiverar klustring för den ändrade table. Nyligen infogade eller uppdaterade data kommer inte att grupperas av OPTIMIZE. Om du inte vill använda klustring när du skapar en tableutelämnar du CLUSTER BY-satsen.

Exempel

Du hittar fler exempel i Använd flytande klustring för Delta 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;