Compartir a través de


cláusula CLUSTER BY (TABLE)

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 13.3 LTS y versiones posteriores casilla marcada como Sí solo Delta Lake

Define la agrupación en clústeres multidimensionales líquidos para una relación.

Azure Databricks recomienda usar clústeres líquidos automáticos y optimización predictiva para todas las tablas administradas de Unity Catalog. Estas características proporcionan una optimización inteligente del diseño de datos en función de los patrones de uso de datos.

Puede usar esta cláusula cuando:

  • Cree una tabla mediante CREATE TABLE.
  • Modifique una tabla con ALTER TABLE para cambiar las columnas de agrupación en clústeres. Para agrupar filas con columnas de clúster modificadas, debe ejecutar OPTIMIZE. Tenga en cuenta que las filas agrupadas por columnas de agrupación en clústeres anteriores no se ven afectadas.
  • Cree una vista materializada mediante CREATE MATERIALIZED VIEW.
  • Cree una tabla de streaming mediante CREATE STREAMING TABLE.

Las filas actualizadas no se vuelven a agrupar automáticamente. Ejecute OPTIMIZE para volver a agrupar filas actualizadas.

Para obtener más información sobre la agrupación en clústeres líquidos, consulte Uso de clústeres líquidos para tablas.

Sintaxis

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

Parámetros

  • nombre_de_columna

    Especifica las columnas de la relación por la que se agrupan los datos. El orden de columna no importa. Para beneficiarse de la modificación de la agrupación en clústeres, debe ejecutar OPTIMIZE.

  • AUTO

    Se aplica a:marcado como sí Databricks SQL marcado como sí Databricks Runtime 15.4 y versiones posteriores

    Instruye a Delta Lake para determinar automáticamente y, con el tiempo, adaptarse a las mejores columnas para agrupar por. Para obtener más información sobre la agrupación en clústeres líquidos, consulte Uso de clústeres líquidos para tablas.

  • NONE

    Desactiva la agrupación en clústeres para la relación que se está modificando. Los datos recién insertados o actualizados no se agruparán en clústeres OPTIMIZE. Para no usar la agrupación en clústeres al crear una relación, omita la CLUSTER BY cláusula .

Ejemplos

Puede encontrar más ejemplos en Uso de clústeres líquidos para tablas.

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