Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use o REORG comando quando precisar reescrever parte de uma tabela Delta para uma meta de manutenção específica. Em Fabric, REORG reorganiza o layout físico de uma tabela reescrevendo arquivos de dados ou atualizando metadados de tabela, dependendo da opção escolhida.
REORG é diferente da compactação de arquivos de rotina. Ele destina-se a cenários como a remoção física de linhas que excluem vetores marcados como excluídos.
O que o REORG faz
REORG TABLE reescreve o estado da tabela para uma operação de manutenção definida.
-
APPLY (PURGE)reescreve arquivos de dados afetados para que as linhas que foram excluídas suavemente por meio de vetores de exclusão sejam fisicamente removidas dos arquivos Parquet subjacentes.
Use REORG quando precisar de um resultado de reescrita específico, não apenas arquivos menores ou menos.
Use o PURGE para remover fisicamente linhas excluídas de forma lógica
Os vetores de exclusão permitem que Delta Lake marque linhas como excluídas sem reescrever os arquivos Parquet originais imediatamente. Esse comportamento mantém as operações de exclusão eficientes, mas os dados de linha excluídos ainda existem nos arquivos físicos até que você as reescreva.
Quando você executa REORG TABLE ... APPLY (PURGE), Fabric reescreve os arquivos afetados e remove as linhas excluídas suavemente dos arquivos parquet ativos. Depois que PURGE for concluído, essas linhas excluídas de fato não estarão mais nos arquivos reescritos.
Note
PURGE normalmente, não é necessário como uma etapa de manutenção separada.
OPTIMIZE limpa automaticamente arquivos em que mais de 5% de registros são referenciados por vetores de exclusão durante a compactação. Reserve PURGE para cenários em que você precisa de controle explícito sobre o momento em que linhas marcadas como excluídas são removidas fisicamente.
Esta opção é útil quando:
- Você tem requisitos de conformidade ou GDPR e precisa que os dados excluídos sejam removidos fisicamente de acordo com um cronograma específico.
- Você deseja forçar a remoção de arquivos que ficam abaixo do limite de 5% usado por
OPTIMIZE.
Revisar a sintaxe
Use os exemplos a seguir em um bloco de anotações Fabric.
Limpar linhas excluídas suavemente de uma tabela
Limpar linhas excluídas suavemente somente para dados correspondentes
Use uma WHERE cláusula quando quiser direcionar partições específicas ou uma fatia menor de dados.
Escolha REORG ou OPTIMIZE
REORG e OPTIMIZE resolvem problemas diferentes.
-
OPTIMIZEexecuta a compactação de compartimentos. Ele consolida arquivos pequenos em arquivos maiores para melhorar a eficiência da verificação. -
REORG ... APPLY (PURGE)remove fisicamente as linhas que excluem vetores marcados como excluídos.
Você pode usar os dois comandos juntos. Por exemplo, você pode executar REORG ... APPLY (PURGE) para remover fisicamente os dados excluídos e, em seguida, executar OPTIMIZE para melhorar o layout do arquivo.
Entender os vetores de exclusão
Os vetores de exclusão são estruturas de metadados que marcam linhas como excluídas sem reescrever imediatamente os arquivos Parquet que contêm essas linhas. Os leitores respeitam os vetores de exclusão para que as linhas excluídas não apareçam nos resultados da consulta, mas os bytes ainda permanecem no armazenamento até que ocorra uma reescrita.
REORG ... APPLY (PURGE) é a etapa que remove fisicamente essas linhas dos arquivos Parquet reescritos.
Executar REORG no Fabric
Executar REORG em experiências baseadas em Spark no Fabric, como:
- Blocos de anotações de malha
- Definições de trabalho do Spark
Não execute REORG a partir do endpoint de análise SQL.
REORG é um comando de manutenção sql do Spark para tabelas Delta.
Siga as práticas recomendadas
- Execute
PURGEsomente quando você tiver uma necessidade específica, como requisitos de conformidade.OPTIMIZElimpa automaticamente arquivos em que mais de 5% de registros são referenciados por vetores de exclusão, portanto, a manutenção de rotina geralmente não requer uma etapa separadaPURGE. - Execute
PURGEantes deVACUUMquando precisar remover fisicamente os dados excluídos para fins de conformidade ou para atender a requisitos do GDPR. - Use
WHEREpredicados para direcionar partições específicas quando você não precisar reescrever a tabela completa. - Use
UPGRADE UNIFORMquando precisar de leitores do Iceberg, mas leve em conta os metadados adicionais que o UniForm mantém. - Tratar
REORGeOPTIMIZEcomo operações de manutenção complementares, não intercambiáveis.