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 il raggruppamento liquido e multidimensionale per una relazione.

Azure Databricks consiglia di usare il clustering liquido automatico e l'ottimizzazione predittiva per tutte le tabelle gestite di Unity Catalog. Queste funzionalità offrono un'ottimizzazione intelligente del layout dei dati in base ai modelli di utilizzo dei dati.

È 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 materializzata 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 altre informazioni sul clustering liquido, vedere Usare il clustering liquido per le tabelle

Sintassi

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

Parametri

  • column_name

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

  • AUTO

    Si applica a:selezionato sì Databricks SQL selezionato sì Databricks Runtime 15.4 e versioni successive

    Indica a Delta Lake di determinare automaticamente e adattarsi nel tempo alle migliori colonne per raggruppare. Per ulteriori informazioni sul clustering liquido, vedere Utilizzare il clustering liquido per le tabelle.

  • NONE

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

Esempi

Puoi trovare altri esempi in Uso del clustering liquido per le tabelle.

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