Partilhar via


REORG TABLE

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 11.3 LTS e superior

Reorganize uma tabela Delta Lake reescrevendo ficheiros para limpar dados marcados como excluídos, como os dados de coluna removidos por ALTER TABLE DROP COLUMN, ou executando o checkpoint do Delta Lake para melhorar o gerenciamento de metadados.

Sintaxe

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

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

Nota

  • APPLY (PURGE) Apenas reescreve ficheiros que contenham dados eliminados por software.
  • APPLY (UPGRADE) pode reescrever todos os arquivos.
  • REORG TABLE é idempotente, o que significa que, se for executado duas vezes no mesmo conjunto de dados, a segunda execução não terá efeito.
  • Depois de executar APPLY (PURGE), os dados apagados suavemente ainda podem existir nos arquivos antigos. Você pode executar VACUUM para excluir fisicamente os arquivos antigos.
  • APPLY (CHECKPOINT) requer que a tabela tenha o recurso de tabela V2 Checkpoint ativado para evitar corrupção causada por condições de corrida.

Parâmetros

  • table_name

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

  • WHERE predicado

    Para APPLY (PURGE), reorganiza os ficheiros que correspondem ao predicado de partição fornecido. Apenas filtros envolvendo atributos de chave de partição são suportados.

  • APPLY (PURGE)

    Especifica que a finalidade da regravação de arquivo é limpar dados excluídos por software. Consulte Purgar apenas exclusões de metadados para forçar a reescrita de dados.

  • APPLY (UPGRADE UNIFORM ( ICEBERG_COMPAT_VERSION = version ))

    Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 14.3 e superior

    Especifica que o objetivo da reescrita do arquivo é atualizar a tabela para a versão fornecida do Apache Iceberg. version deve ser ou 1 ou 2.

  • APPLY (CHECKPOINT)

    Aplica-se a:marcado sim Databricks Runtime 16.3 ou superior

    Executa o ponto de verificação Delta na versão Delta mais recente da tabela.

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

> REORG TABLE events APPLY (CHECKPOINT);