REORG TABLE
Aplica-se a: Databricks SQL 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
-
Identifica uma Delta existente table. O nome não deve incluir uma especificação temporal ou uma especificação de opções.
WHERE
predicadoPara 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: Databricks SQL 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 ou1
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));