Partilhar via


REORG TABLE

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

Reorganize um table Delta Lake reescrevendo arquivos para limpar dados excluídos por software, como os dados column 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.

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.

Parameters

  • table_name

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

  • WHERE predicado

    Para o APPLY (PURGE), reorganiza os ficheiros que correspondem ao predicado partition determinado. Apenas filtros que envolvem atributos partition chave são suportados.

  • APPLY (PURGE)

    Especifica que a finalidade da regravação de arquivo é limpar dados excluídos por software. Consulte Limpar exclusões somente de metadados para forçar a regravação 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 o table para a versão do Iceberg fornecida. version deve ser ou 12.

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