Bagikan melalui


klausa CLUSTER BY (TABLE)

Berlaku untuk:centang ditandai yaDatabricks SQL centang ditandai ya Databricks Runtime 13.3 LTS dan di atas centang ditandai ya Delta Lake saja

Mendefinisikan pengklusteran multidimensi cair untuk relasi.

Azure Databricks merekomendasikan penggunaan pengklusteran cairan otomatis dan pengoptimalan prediktif untuk semua tabel terkelola Unity Catalog. Fitur-fitur ini memberikan pengoptimalan cerdas tata letak data berdasarkan pola penggunaan data Anda.

Anda dapat menggunakan klausa ini saat:

  • Buat tabel menggunakan CREATE TABLE.

  • Ubah tabel dengan ALTER TABLE untuk mengubah kolom pengklusteran.

    Untuk mengkluster baris dengan kolom pengklusteran yang diubah, Anda harus menjalankan OPTIMIZE. Perhatikan bahwa baris yang diklusterkan oleh kolom pengklusteran sebelumnya tidak terpengaruh.

    Anda tidak dapat mengubah kolom pengklusteran tampilan materialisasi atau tabel streaming dengan ALTER TABLE.

  • Buat tampilan materialisasi menggunakan CREATE MATERIALIZED VIEW.

  • Buat tabel streaming menggunakan CREATE STREAMING TABLE.

Baris yang diperbarui tidak dikluster ulang secara otomatis. Jalankan OPTIMIZE untuk mengkluster ulang baris yang diperbarui.

Untuk informasi selengkapnya tentang pengklusteran cairan, lihat Menggunakan pengklusteran cair untuk tabel.

Sintaks

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

Parameter

  • column_name

    Menentukan kolom relasi yang akan diklusterkan datanya. Urutan kolom tidak masalah. Untuk mendapatkan manfaat dari mengubah pengklusteran, Anda harus menjalankan OPTIMIZE.

  • AUTO

    Berlaku untuk:ditandai ya Databricks SQL ditandai ya Databricks Runtime 15.4 ke atas

    Mengarahkan Delta Lake untuk secara otomatis menentukan dan seiring waktu beradaptasi dengan kolom terbaik untuk kluster. Untuk informasi selengkapnya tentang pengklusteran cairan, lihat Menggunakan pengklusteran cair untuk tabel.

  • NONE

    Menonaktifkan pengklusteran untuk relasi yang diubah. Data yang baru disisipkan atau diperbarui tidak akan diklusterkan oleh OPTIMIZE. Untuk tidak menggunakan pengklusteran saat membuat relasi, hilangkan CLUSTER BY klausa.

Contoh

Anda dapat menemukan lebih banyak contoh dalam Menggunakan pengklusteran cair untuk tabel.

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