Udostępnij za pośrednictwem


CLUSTER BY klauzula (TABLE)

Dotyczy:zaznacz pole wyboru oznaczone jako tak databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime 13.3 LTS i nowsze zaznacz pole wyboru oznaczone jako tak 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

  • column_name

    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;