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.
Importante
Esta documentação foi desativada e pode não ser atualizada. Os produtos, serviços ou tecnologias mencionados neste conteúdo não têm mais suporte. Confira Remover um recurso de tabela do Delta Lake e fazer downgrade do protocolo de tabela.
Este artigo documenta o comportamento da Prévia Pública para desativar recursos de tabela do Delta Lake disponíveis a partir do Databricks Runtime 14.3 LTS. O Databricks recomenda usar a funcionalidade disponível no Databricks Runtime 16.3 e superior, que substitui o comportamento herdado. Confira Remover um recurso de tabela do Delta Lake e fazer downgrade do protocolo de tabela.
O Azure Databricks fornece suporte limitado para descartar funcionalidades de tabela. Remover um recurso de tabela envolve os seguintes estágios:
- Desative as propriedades de tabela que utilizam o recurso de tabela.
- Remova todos os vestígios do recurso de tabela dos arquivos de dados que suportam a tabela.
- Remova as entradas de transação que usam o recurso de tabela do log de transações.
- Rebaixe o protocolo de tabela.
Importante
Todas as DROP FEATURE operações entram em conflito com todas as gravações simultâneas.
As leituras de streaming falham quando encontram uma confirmação que altera os metadados da tabela. Se você quiser que o fluxo continue, precisará reiniciá-lo. Para obter métodos recomendados, confira Considerações de produção para Streaming Estruturado.
Como posso descartar um recurso de tabela Delta?
Para remover um recurso de tabela Delta, execute um ALTER TABLE <table-name> DROP FEATURE <feature-name> [TRUNCATE HISTORY] comando. Consulte ALTER TABLE.
Você deve usar o Databricks Runtime 14.3 LTS ou superior e ter MODIFY privilégios na tabela Delta de destino.
Quais recursos da tabela Delta podem ser descartados?
Você pode descartar os seguintes recursos da tabela Delta:
-
checkConstraints. Confira Restrições no Azure Databricks. -
collations-preview. Consulte Suporte de ordenação para Delta Lake. -
columnMapping. Confira Renomear e remover colunas usando o mapeamento de colunas do Delta Lake. -
deletionVectors. Confira O que são vetores de exclusão? -
typeWidening-preview. Confira Ampliação de tipo. -
v2Checkpoint. Consulte Compatibilidade de tabelas com clustering líquido.
Não é possível descartar outros recursos da tabela Delta.
Importante
Algumas funcionalidades do Delta Lake permitem vários recursos de tabela. Alguns recursos de tabela dependem de outros recursos de tabela e podem bloquear a remoção de recursos de tabela dependentes. Como alguns recursos de tabela não podem ser descartados, isso significa que a habilitação para alguns recursos do Delta Lake não pode ser revertida.
O Databricks recomenda sempre testar cargas de trabalho e sistemas dependentes para compatibilidade com novas funcionalidades antes de habilitar a funcionalidade que atualiza protocolos de leitor ou gravador para dados de produção.
Habilitar recursos de tabela para descontinuar recursos herdados
Observação
Esta seção descreve um padrão que só é necessário no Databricks Runtime 16.0 e abaixo.
O DROP FEATURE comando requer versões de protocolo que dão suporte a leituras e gravações de recursos de tabela. Os recursos Delta, como columnMapping e checkConstraints, eram suportados em versões anteriores do protocolo. Dependendo de outros recursos habilitados na tabela, talvez seja necessário atualizar as versões do protocolo antes de descartar esses recursos.
Você pode usar o seguinte comando para atualizar as versões do leitor e gravador de tabela, o que permite remover o mapeamento de colunas e rebaixar o protocolo:
ALTER TABLE <table-name> SET TBLPROPERTIES (
'delta.minReaderVersion' = '3',
'delta.minWriterVersion' = '7'
)
Como as funcionalidades da tabela Delta são descartadas?
Como os recursos da tabela Delta afetam a forma como uma tabela é lida/gravada, eles devem estar completamente ausentes do log de transações para remoção completa. As especificidades da remoção de recursos variam de acordo com o recurso, mas a seção a seguir fornece uma visão geral.
A remoção de um recurso ocorre em duas etapas e requer que algum tempo passe antes da conclusão.
Etapa 1: Preparar para remover um recurso de tabela
Durante a primeira etapa, você deve se preparar para eliminar o recurso de tabela. O seguinte descreve o que acontece durante esta etapa:
- Execute o comando
DROP FEATURE. - As propriedades da tabela que habilitam especificamente um recurso de tabela têm valores definidos para desabilitar o recurso.
- As propriedades da tabela que controlam os comportamentos associados ao recurso descartado têm opções definidas como valores padrão antes de o recurso ser introduzido.
- Conforme necessário, os arquivos de dados e metadados são reescritos, respeitando as propriedades atualizadas da tabela.
- O comando termina de ser executado e retorna uma mensagem de erro informando que você deve aguardar 24 horas para continuar com a remoção do recurso.
Depois de primeiro desabilitar um recurso, você pode continuar gravando na tabela de destino antes de concluir o downgrade de protocolo, mas não pode usar o recurso de tabela que está removendo.
Observação
Se você deixar a tabela nesse estado, as operações na tabela não usarão o recurso de tabela, mas o protocolo ainda oferecerá suporte ao recurso de tabela. Até concluir a etapa de downgrade final, a tabela não será legível por clientes Delta que não entendem o recurso de tabela.
Etapa 2: fazer downgrade do protocolo e remover um recurso de tabela
Na segunda etapa, você trunca e exclui todo o histórico de transações associado ao recurso. Isso permite que você remova o recurso de tabela e rebaixe o protocolo.
- Depois de pelo menos 24 horas, execute o
DROP FEATUREcomando novamente com aTRUNCATE HISTORYcláusula. - O cliente confirma que nenhuma transação no limite de retenção especificado usa o recurso de tabela e, em seguida, trunca o histórico da tabela para esse limite.
- O protocolo é rebaixado, descartando o recurso de tabela.
- Se os recursos de tabela presentes na tabela puderem ser representados por uma versão de protocolo herdada, o
minReaderVersioneminWriterVersionpara a tabela serão rebaixados para a versão mais baixa que dá suporte a exatamente todos os recursos restantes em uso pela tabela Delta.
Importante
Executar 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 de tabela Delta, você não tem acesso ao histórico da tabela ou à viagem no tempo.
Consulte a compatibilidade de recursos e protocolos do Delta Lake.