CLUSTER BY
-klausul (TABLE)
Gäller endast för: Databricks SQL
Databricks Runtime 13.3 LTS och ovanför
Delta Lake
Definierar flytande, flerdimensionell klustring för en Delta Lake-tabell.
Du kan använda den här satsen när du:
- Skapa en tabell med CREATE TABLE.
- Ändra en tabell med ALTER TABLE för att ändra klustringskolumnerna. Om du vill klustra rader med ändrade klustringskolumner måste du köra OPTIMIZE. Observera att rader som grupperats av tidigare klustringskolumner inte påverkas.
- Skapa en vy med CREATE MATERIALIZED VIEW.
- Skapa en strömmande tabell med CREATE STREAMING TABLE.
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 Delta-tabeller
Syntax
CLUSTER BY { ( column_name [, ...] ) |
NONE }
Parameterar
-
Anger kolumner i tabellen som data ska klustras med. Kolumnordningen spelar ingen roll. Om du vill ha nytta av att ändra klustring bör du köra OPTIMIZE.
INGEN
Inaktiverar klustring för tabellen som håller på att ändras. Nyligen infogade eller uppdaterade data kommer inte att grupperas av OPTIMIZE. Om du inte vill använda klustring när du skapar en tabell utelämnar du
CLUSTER BY
-satsen.
Exempel
Du hittar fler exempel i Använd flytande klustring för Delta-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;