Condividi tramite


clausola CLUSTER BY (TABLE)

Si applica a:segno di spunta sìSolo Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive segno di spunta sì a Delta Lake

Definisce un clustering di tipo liquido e multidimensionale per una tabella Delta Lake.

È possibile usare questa clausola quando:

  • Creare una tabella usando CREATE TABLE.
  • Modificare una tabella con ALTER TABLE per cambiare le colonne di raggruppamento. Per raggruppare le righe con colonne di clustering modificate, è necessario eseguire OPTIMIZE. Si noti che le righe raggruppate dalle colonne di clustering precedenti non sono interessate.
  • Creare una vista usando CREATE MATERIALIZED VIEW.
  • Creare una tabella di streaming usando CREATE STREAMING TABLE.

Le righe aggiornate non vengono ri-raggruppate automaticamente. Esegui OPTIMIZE per ri-clusterizzare le righe aggiornate.

Per ulteriori informazioni sul clustering liquido, vedere Usa clustering liquido per delle tabelle Delta

Sintassi

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

Parametri

  • column_name

    Specifica le colonne della tabella in base alla quale raggruppare i dati. L'ordine delle colonne non è importante. Per trarre vantaggio dalla modifica del clustering, è necessario eseguire OPTIMIZE.

  • NONE

    Disattiva il clustering per la tabella da modificare. I dati appena inseriti o aggiornati non verranno raggruppati da OPTIMIZE. Per non usare il clustering durante la creazione di una tabella, omettere la clausola CLUSTER BY.

Esempi

Per altri esempi, vedere Uso del clustering liquido per le tabelle 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;