CLUSTER BY
klauzule (TABLE)
Platí pro: Databricks SQL Databricks Runtime 13.3 LTS a vyšší 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
-
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;