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 relation.

Azure Databricks rekommenderar att du använder automatisk flytande klustring och förutsägande optimering för alla hanterade Unity Catalog-tabeller. De här funktionerna ger intelligent optimering av datalayout baserat på dina dataanvändningsmönster.

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

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

Mer information om flytande klustring finns i Använda flytande klustring för tabeller

Syntax

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

Parameterar

  • kolumnnamn

    Anger kolumner i relationen som data ska klustras med. Kolumnordningen spelar ingen roll. Om du vill ha nytta av att ändra klustring bör du köra OPTIMIZE.

  • AUTO

    Gäller för:markerad ja Databricks SQL markerad ja Databricks Runtime 15.4 och senare

    Instruerar Delta Lake att automatiskt bestämma och med tiden anpassa sig till de bästa kolumnerna att gruppera efter. Mer information om flytande klustring finns i Använda flytande klustring för tabeller.

  • NONE

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

Exempel

Du hittar fler exempel i Använda flytande klustring för tabeller.

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