Drop Delta table recurso (legacy)
Essa documentação foi descontinuada e pode não estar atualizada. O produto, serviço ou tecnologia mencionados neste conteúdo não são mais suportados. Consulte Drop a Delta Lake table recurso e downgrade table protocol.
Este artigo documenta o comportamento do Public Preview para descartar o recurso da tabela Delta Lake disponível a partir de Databricks Runtime 14.3 LTS. Databricks recomenda usar a funcionalidade geralmente disponível em Databricks Runtime 16.3 e acima, que substitui o comportamento legado. Consulte Drop a Delta Lake table recurso e downgrade table protocol.
Databricks oferece suporte limitado para descartar recurso de tabela. A eliminação de um recurso de tabela envolve os seguintes estágios:
- Desativar as propriedades da tabela que usam o recurso de tabela.
- Remova todos os vestígios do recurso de tabela dos arquivos de dados que fazem o backup da tabela.
- Remova as entradas de transação que usam a tabela recurso da transação log.
- Faça o downgrade do protocolo da tabela.
Todas as operações do DROP FEATURE
entram em conflito com todas as gravações do concorrente.
As leituras de transmissão falham quando encontram um commit que altera os metadados da tabela. Se quiser que a transmissão continue, o senhor deve reiniciá-la. Para conhecer os métodos recomendados, consulte Considerações sobre produção para transmissão estruturada.
Como posso eliminar um recurso de tabela Delta?
Para remover um recurso da tabela Delta, o senhor deve executar um comando ALTER TABLE <table-name> DROP FEATURE <feature-name> [TRUNCATE HISTORY]
. Consulte ALTER TABLE.
O senhor deve usar Databricks Runtime 14.3 LTS ou acima e ter privilégios de MODIFY
na tabela de destino Delta.
Qual recurso da tabela Delta pode ser descartado?
O senhor pode eliminar o seguinte recurso da tabela Delta:
checkConstraints
. Consulte Restrições em Databricks.collations-preview
. Consulte Suporte de agrupamento para Delta Lake.columnMapping
. Consulte Renomear e soltar colunas com o mapeamento de colunas do Delta Lake.deletionVectors
. Consulte O que são vetores de exclusão? .typeWidening-preview
. Consulte Ampliação de tipos.v2Checkpoint
. Consulte Compatibilidade para tabelas com clustering líquido.
O senhor não pode eliminar outro recurso da tabelaDelta.
Algumas funcionalidades do site Delta Lake permitem o recurso de várias tabelas. Alguns recursos de tabela dependem de outros recursos de tabela e podem bloquear o lançamento de recursos de tabela dependentes. Como alguns recursos de tabela não podem ser descartados, isso significa que a ativação de alguns Delta Lake recursos não pode ser revertida.
A Databricks recomenda sempre testar a compatibilidade de cargas de trabalho e sistemas dependentes com a nova funcionalidade antes de ativar a funcionalidade que atualiza os protocolos de leitura ou gravação de dados de produção.
Habilitar o recurso de tabela para eliminar o recurso legado
Esta seção descreve um padrão que só é necessário em Databricks Runtime 16.0 e abaixo.
O comando DROP FEATURE
requer versões de protocolo que suportem leituras e gravações de recursos de tabela. Delta recursos como columnMapping
e checkConstraints
eram compatíveis com versões anteriores do protocolo. Dependendo de outros recursos ativados na tabela, talvez o senhor precise atualizar as versões do protocolo antes de poder eliminar esses recursos.
O senhor pode usar o seguinte comando para atualizar as versões do leitor e do gravador de tabelas, o que lhe permite eliminar o mapeamento de colunas e fazer o downgrade do protocolo:
ALTER TABLE <table-name> SET TBLPROPERTIES (
'delta.minReaderVersion' = '3',
'delta.minWriterVersion' = '7'
)
Como os recursos da tabela Delta são descartados?
Como os recursos da tabela Delta afetam a forma como uma tabela é lida/gravada, eles devem estar completamente ausentes da transação log para remoção completa. As especificidades da remoção de recurso variam de acordo com o recurso, mas a seção a seguir fornece uma visão geral.
A eliminação de um recurso ocorre em duas etapas e requer tempo para ser concluída.
Etapa 1: Prepare-se para descartar um recurso de tabela
Durante a primeira etapa, o senhor deve se preparar para eliminar o recurso de tabela. A seguir, descrevemos o que acontece durante essa etapa:
- execução do
DROP FEATURE
comando. - As propriedades da tabela que ativam especificamente um recurso de tabela têm valores definidos para desativar o recurso.
- As propriedades da tabela que controlam os comportamentos associados ao recurso descartado têm opções definidas para default valores antes da introdução do recurso.
- Conforme necessário, os arquivos de dados e metadados são regravados, respeitando as propriedades atualizadas da tabela.
- O comando termina de ser executado e retorna uma mensagem de erro informando que o senhor deve aguardar 24 horas para prosseguir com a remoção do recurso.
Depois de desativar um recurso pela primeira vez, o senhor pode continuar gravando na tabela de destino antes de concluir o downgrade do protocolo, mas não pode usar o recurso da tabela que está removendo.
Se o senhor deixar a tabela nesse estado, as operações contra a tabela não usarão o recurso de tabela, mas o protocolo ainda será compatível com o recurso de tabela. Até que o senhor conclua a etapa final de downgrade, a tabela não poderá ser lida por clientes Delta que não entendem o recurso de tabela.
Etapa 2: Fazer downgrade do protocolo e eliminar um recurso de tabela
Na segunda etapa, o senhor trunca e exclui todo o histórico de transações associado ao recurso. Isso permite que o senhor elimine o recurso de tabela e faça o downgrade do protocolo.
- Depois de transcorridas pelo menos 24 horas, o senhor executa o comando
DROP FEATURE
novamente com a cláusulaTRUNCATE HISTORY
. - O cliente confirma que nenhuma transação no limite de retenção especificado usa o recurso da tabela e, em seguida, trunca o histórico da tabela para esse limite.
- O protocolo é rebaixado, eliminando o recurso de tabela.
- Se os recursos da tabela presentes na tabela puderem ser representados por uma versão de protocolo legado, o
minReaderVersion
e ominWriterVersion
da tabela serão rebaixados para a versão mais baixa que suporte exatamente todos os recursos restantes em uso pela tabela Delta.
A execução do site ALTER TABLE <table-name> DROP FEATURE <feature-name> TRUNCATE HISTORY
remove todos os dados do log de transações com mais de 24 horas. Depois de descartar um recurso da tabela Delta, o senhor não tem acesso à tabela história ou viagem do tempo.