Compartilhar via


REORG TABLE

Aplica-se a: verificação marcada como sim Databricks SQL marca de seleção positiva Databricks Runtime 11.3 LTS e versões posteriores

Reorganizar uma tabela do Delta Lake reconfigurando arquivos para limpar dados excluídos de forma reversível, como os dados de coluna descartados por ALTER TABLE DROP COLUMN.

Sintaxe

REORG [ TABLE ] table_name { [ WHERE predicate ] APPLY ( PURGE ) |
                             APPLY ( UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ) } )

Para versões do Databricks Runtime anteriores à 15.4 TABLE , é uma palavra-chave obrigatória.

Observação

  • APPLY (PURGE) regenera apenas arquivos que contêm dados excluídos temporariamente.
  • APPLY (UPGRADE) pode regenerar todos os arquivos.
  • A REORG TABLE é idempotente, o que significa que, se for executada duas vezes no mesmo conjunto de dados, a segunda execução não terá efeito.
  • Depois de executar a APPLY (PURGE), os dados excluídos de forma temporária ainda podem existir nos arquivos antigos. Você pode executar o VACUUM para excluir fisicamente os arquivos antigos.

Parâmetros

  • table_name

    Identifica uma tabela do Delta existente. O nome não deve incluir uma especificação temporal ou especificação de opções.

  • WHEREpredicate

    O APPLY (PURGE), reorganiza os arquivos que correspondem ao predicado de partição fornecido. Há suporte apenas para filtros que envolvam atributos de chave de partição.

  • APPLY (PURGE)

    Especifica que a finalidade da reconfiguração de arquivo é limpar dados excluídos de forma reversível. Confira Limpar exclusões somente de metadados para forçar a regeneração de dados.

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    Aplica-se a: verificação marcada como sim Databricks SQL verificação marcada como sim Databricks Runtime 14.3 e versões posteriores

    Especifica que a finalidade da reconfiguração de arquivo é fazer upgrade da tabela para a versão Iceberg especificada. version deve ser 1 ou 2.

Exemplos

> REORG TABLE events APPLY (PURGE);

> REORG TABLE events WHERE date >= '2022-01-01' APPLY (PURGE);

> REORG TABLE events
    WHERE date >= current_timestamp() - INTERVAL '1' DAY
    APPLY (PURGE);

> REORG TABLE events APPLY (UPGRADE UNIFORM(ICEBERG_COMPAT_VERSION=2));