Sdílet prostřednictvím


klauzule CLUSTER BY (TABLE)

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime 13.3 LTS a vyšší zaškrtnutí označeného ano pouze Delta Lake

Definuje kapalné, multidimenzionální clustering pro tabulku Delta Lake.

Tuto klauzuli můžete použít v těchto případech:

  • Vytvořte tabulku pomocí CREATE TABLE.
  • Upravte tabulku s ALTER TABLE tak, aby změnila sloupce pro seskupování. Pokud chcete seskupit řádky se změněnými sloupci clusteringu, musíte spustit OPTIMIZE. Všimněte si, že řádky seskupené podle předchozích seskupovacích sloupců nejsou ovlivněny.
  • Vytvořte zobrazení pomocí CREATE MATERIALIZED VIEW.
  • Vytvořte streamovací tabulku pomocí CREATE STREAMING TABLE.

Aktualizované řádky se automaticky znovu neseskupí. Spuštěním OPTIMIZE znovu seskupte aktualizované řádky.

Další informace o clusteringu liquid naleznete v tématu Použití clusteringu liquid pro tabulky Delta

Syntaxe

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

Parametry

  • column_name

    Určuje sloupce tabulky, podle kterých se mají data seskupit. Pořadí sloupců nezáleží. Pokud chcete využít výhod změny clusteringu, měli byste spustit OPTIMIZE.

  • ŽÁDNÝ

    Vypne clustering pro změněnou tabulku. Nově vložená nebo aktualizovaná data nebudou seskupena OPTIMIZE. Pokud nechcete při vytváření tabulky používat clustering, vymešte klauzuli CLUSTER BY.

Příklady

Další příklady najdete v Použití tekutého clusteringu pro tabulky Delta.

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