Commit de gerenciamento de catálogo
Esta página explica como habilitar o recurso `catalog-gerenciar commit`, um recurso de tabela Delta que transfere a coordenação commit 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 lago por meio Unity Catalog. 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.
Benefícios
O commit Catalog-gerenciar oferece as seguintes funcionalidades:
- Transações abrangendo várias tabelas : execução de múltiplas instruções SQL em várias tabelas como um único commit atômico. Todas as mudanças têm sucesso juntas ou fracassam juntas. Consulte Transações.
Visualização
Transações que gravam no Unity Catalog gerenciam tabelas Delta e estão em Pré-visualização Pública.
Transações que gravam em tabelas Iceberg gerenciadas Unity Catalog estão em Pré-visualização Privada. Para join desta pré-visualização, envie o formulário de inscrição para a pré-visualização das mesas Iceberg.
-
Acesso controlado : as operações de leitura e gravação são coordenadas por meio do Unity Catalog, de modo que os mecanismos visualizam o estado mais recente confirmado e as políticas de governança são aplicadas.
-
Planejamento de consultas e gravações mais rápidas : Unity Catalog informa diretamente ao cliente Delta os metadados em nível de tabela quando este acessa uma tabela, evitando o armazenamento cloud e eliminando uma importante fonte de latência de metadados.
-
Restrições aplicáveis : Unity Catalog valida ou rejeita alterações de esquema e restrições, evitando atualizações incompatíveis que poderiam comprometer a integridade dos dados ou as cargas de trabalho subsequentes.
Requisitos
- As tabelas devem ser tabelas gerenciadas Unity Catalog (Delta ou Iceberg).
- É 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` em uma tabela existente sincroniza o estado da tabela com o catálogo. Essa operação pode levar vários minutos em tabelas com alta carga de trabalho de gravação.
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
-
Você não pode ativar ou desativar o commit catalog-gerenciar usando
CREATE OR REPLACE TABLEouREPLACE TABLE. UseCREATE TABLEcom a propriedadedelta.feature.catalogManagedpara habilitá-la ao criar uma tabela ouALTER TABLEpara habilitá-la ou desabilitá-la em uma tabela existente. -
As tabelas com o recurso `catalog-gerenciar commit` ativado são compartilhadas por meio Delta Sharing usando URLs pré-assinadas em vez de tokens cloud .
-
A visualização sobreposta às tabelas com o recurso `catalog-gerenciar commit` ativado não pode ser compartilhada Delta .
-
A visualização materializada e as tabelas de transmissão não podem ter o comando `catalog-gerenciar commit` ativado.
-
Tabelas com o recurso `catalog-gerenciar commit` ativado não podem ser a tabela de origem para um gatilhoLakeFlow Jobs.
-
O Zerobus não pode escrever em tabelas com o comando `catalog-gerenciar commit` ativado.