CLUSTER BY
klauzula (TABLE)
Dotyczy: databricks SQL Databricks Runtime 13.3 LTS i nowsze tylko usługa Delta Lake
Definiuje płynne, wielowymiarowe klastrowanie dla tabeli usługi Delta Lake.
Tej klauzuli można użyć, gdy:
- Tworzenie tabeli przy użyciu polecenia CREATE TABLE
- Zmień tabelę za pomocą polecenia ALTER TABLE , aby zmienić kolumny klastrowania. Aby klaster wierszy ze zmienionymi kolumnami klastrowania, należy uruchomić polecenie OPTIMIZE. Należy pamiętać, że nie ma to wpływu na wiersze klastrowane według poprzednich kolumn klastrowania.
Zaktualizowane wiersze nie są automatycznie ponownie klasterowane. Uruchom polecenie OPTIMIZE , aby ponownie zaktualizować wiersze klastra.
Aby uzyskać więcej informacji na temat klastrowania liquid, zobacz Use liquid clustering for Delta tables (Używanie klastrowania płynnego dla tabel różnicowych)
Składnia
CLUSTER BY { ( column_name [, ...] ] ) |
NONE }
Parametry
-
Określa kolumny tabeli, według których mają być klastrowane dane. Kolejność kolumn nie ma znaczenia. Aby skorzystać ze zmiany klastrowania, należy uruchomić polecenie OPTIMIZE.
ŻADEN
Wyłącza klastrowanie dla zmienianej tabeli. Nowo wstawione lub zaktualizowane dane nie będą klastrowane przez optymalizację. Aby nie używać klastrowania podczas tworzenia tabeli, pomiń klauzulę
CLUSTER BY
.
Przykłady
Więcej przykładów można znaleźć w temacie Use liquid clustering for Delta tables (Używanie klastrowania płynnego dla tabel różnicowych).
-- 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;