Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller endast för: Databricks SQL
Databricks Runtime 13.3 LTS och ovanför
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:
- 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 materialiserad 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 tabeller
Syntax
CLUSTER BY { ( column_name [, ...] ) |
AUTO |
NONE }
Parameterar
-
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:
Databricks SQL
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;