Commit de gerenciamento de catálogo
Este artigo explica como habilitar o recurso `catalog-gerenciar commit`, um recurso de tabela Delta que transfere a coordenação de transações do sistema de arquivos para o Unity Catalog, tornando o catálogo a única fonte de verdade para o estado da tabela.
Visão geral
As transações tradicionais Delta Lake coordenam o commit no nível da tabela individual. Cada tabela gerencia seu próprio log de transações e detecção de conflitos de forma independente. O comando `catalog-gerenciar commit` move essa coordenação para o nível do catálogo. Isso permite que as organizações controlem de forma consistente todo o acesso à casa no lakehouse por meio Unity Catalog, impedindo o acesso não controlado baseado em caminhos. Isso também permite que Unity Catalog orquestre a confirmação de transações em várias tabelas dentro de um único limite de transação, mantendo as garantias ACID do Delta Lake.
Requisitos
- As tabelas devem ser tabelas Unity Catalog .
- É necessário Databricks Runtime 16.4 ou superior para ler, gravar ou criar tabelas com o recurso `catalog-gerenciar commit` ativado.
- É necessário Databricks Runtime 18.0 ou superior para habilitar ou desabilitar o comando `catalog-gerenciar commit` em tabelas existentes.
Habilitar commit de gerenciamento de catálogo
Você pode habilitar o comando `catalog-gerenciar commit` em tabelas novas e existentes.
Ativar confirmação de gerenciamento de catálogo para novas tabelas
Use a propriedade de tabela delta.feature.catalogManaged ao criar uma tabela:
CREATE TABLE sales_data (
sale_id BIGINT,
amount DECIMAL(10,2),
sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Habilitar confirmação de gerenciamento de catálogo para tabelas existentes
Use ALTER TABLE para adicionar um commit de gerenciamento de catálogo a uma tabela existente:
ALTER TABLE sales_data SET TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Habilitar o comando `catalog-gerenciar commit` requer uma transação somente de metadados para sincronizar o estado da tabela com o catálogo. Essa transação pode levar vários minutos para mesas grandes. Gravações simultâneas são permitidas durante a sincronização, mas Databricks pode tentar novamente ou cancelá-las se os conflitos não puderem ser resolvidos automaticamente.
Verifique se os commits do catalog-gerenciar estão habilitados.
Para verificar se uma tabela tem o comando `catalog-gerenciar commit` ativado:
DESCRIBE DETAIL sales_data;
Se ativado, catalogManaged aparece na coluna tableFeatures .
Desativar commit de gerenciamento de catálogo
Você pode desativar o comando `catalog-gerenciar commit` usando Databricks Runtime 18.0 ou superior. Consulte Remover um recurso de tabela Delta Lake e fazer downgrade do protocolo da tabela.
Não cancele operações de upgrade ou downgrade enquanto estiver executando instruções ALTER ou DROP . A interrupção pode deixar a tabela em um estado parcialmente atualizado ou rebaixado, bloqueando-a para futuras leituras e gravações. Para reverter, execute o comando apropriado novamente em vez de cancelar. Contate o suporte da Databricks se a tabela ficar bloqueada.
Limitações
-
CREATE OR REPLACE TABLENão é compatível com tabelas com o recurso `catalog-gerenciar commit` ativado. -
Tabelas com o comando `catalog-gerenciar commit` ativado não suportam: