Compartilhar via


cláusula CLUSTER BY (TABLE)

Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 13.3 LTS e versões posteriores verificação marcada como sim Somente Delta Lake

Define o agrupamento líquido e multidimensional para uma relação.

O Azure Databricks recomenda usar o clustering líquido automático e a otimização preditiva para todas as tabelas gerenciadas do Unity Catalog. Esses recursos fornecem otimização inteligente do layout de dados com base em seus padrões de uso de dados.

Você pode usar esta cláusula quando:

  • Criar uma tabela usando CREATE TABLE.
  • Altere uma tabela identificada por ALTER TABLE para modificar as colunas de agrupamento. Para agrupar linhas com colunas de clustering alteradas, você deve executar OPTIMIZE. Observe que as linhas agrupadas por colunas de clustering anteriores não são afetadas.
  • Criar uma exibição materializada usando CREATE MATERIALIZED VIEW.
  • Criar uma tabela de streaming usando CREATE STREAMING TABLE.

As linhas atualizadas não são reagrupadas automaticamente. Execute OPTIMIZE para clusterar novamente as linhas atualizadas..

Para mais informações sobre clustering líquido, veja Usar clustering líquido para tabelas

Sintaxe

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

Parâmetros

  • nome_da_coluna

    Especifica as colunas da relação usadas para agrupar os dados. A ordem da coluna não importa. Para se beneficiar da alteração do clustering, você deve executar OPTIMIZE.

  • AUTO

    Aplica-se a:marca de seleção Sim Databricks SQL com marcação de verificação sim Databricks Runtime 15.4 e versões superiores

    Instrui o Delta Lake a determinar automaticamente e ajustar-se, ao longo do tempo, às melhores colunas para agrupar. Para obter mais informações sobre clustering líquido, consulte Usar clustering líquido para tabelas.

  • NONE

    Desativa o clustering para a relação que está sendo alterada. Os dados recém-inseridos ou atualizados não serão clusterizados por OPTIMIZE. Para não usar o clustering ao criar uma relação, omita a CLUSTER BY cláusula.

Exemplos

Você pode encontrar mais exemplos em Usar clustering líquido para tabelas.

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