Sdílet prostřednictvím


CLUSTER BY klauzule (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 pro tabulku Delta Lake liquid, multidimenzionální clustering.

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

  • Vytvoření tabulky pomocí CREATE TABLE
  • Změňte tabulku pomocí funkce ALTER TABLE , aby se změnily sloupce clusteringu. Pokud chcete seskupit řádky se změněnými sloupci clusteringu, musíte spustit příkaz OPTIMIZE. Všimněte si, že na řádky seskupené podle předchozích sloupců clusteringu to neovlivní.

Aktualizované řádky se automaticky znovu seskupí. Spuštěním příkazu 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 optimalizaci.

  • ŽÁDNÝ

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

Příklady

Další příklady najdete v článku Použití clusteringu liquid 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;