Pular para o conteúdo principal

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.

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:

SQL
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:

SQL
ALTER TABLE sales_data SET TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
importante

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:

SQL
DESCRIBE DETAIL sales_data;

Se ativado, catalogManaged aparece na coluna tableFeatures .

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.

atenção

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

Próximos passos