Compartilhar via


Confirmações de catálogo

Esta página explica como habilitar confirmações de catálogo, um recurso de tabela Delta que desloca a coordenação de confirmação do sistema de arquivos para o Catálogo do Unity, tornando o catálogo a única fonte de verdade para o estado da tabela.

Visão geral

As transações tradicionais do Delta Lake coordenam commits no nível de tabela individual. Cada tabela gerencia seu próprio log de transações e detecção de conflitos de forma independente. As confirmações de catálogo movem essa coordenação para o nível do catálogo. Isso permite que as organizações governem consistentemente todo o acesso ao Lakehouse por meio do Catálogo do Unity. Ele permite que o Unity Catalog também orquestre confirmações em várias tabelas dentro dos limites de uma única transação, mantendo as garantias ACID do Delta Lake.

Benefícios

As confirmações de catálogo oferecem as seguintes funcionalidades:

  • Transações que abrangem várias tabelas: execute várias instruções SQL em várias tabelas como uma única confirmação atômica. Todas as alterações têm sucesso juntas ou falham juntas. Consulte Transações.

    Importante

    As transações que gravam em tabelas Delta gerenciadas pelo Catálogo Unity estão em Visualização Pública.

    As transações que gravam em tabelas Iceberg gerenciadas pelo Unity Catalog estão em Versão Prévia Privada. Para ingressar nesta prévia, envie o formulário de inscrição para prévia das tabelas Iceberg gerenciadas.

  • Acesso controlado: as leituras e gravações são coordenadas por meio do Catálogo do Unity, para que os mecanismos vejam que as políticas de estado e governança confirmadas mais recentes são aplicadas.

  • Planejamento e gravações de consulta mais rápidos: o Catálogo Unity informa um cliente Delta sobre metadados no nível da tabela diretamente quando acessa uma tabela, ignorando o armazenamento em nuvem e removendo uma fonte importante de latência de metadados.

  • Restrições aplicáveis: o Catálogo do Unity valida ou rejeita alterações de esquema e restrição, impedindo atualizações incompatíveis que possam interromper a integridade dos dados ou cargas de trabalho a jusante.

  • Acesso externo: Grave com segurança nas tabelas gerenciadas pelo Unity Catalog a partir de mecanismos externos. As coordenadas do Catálogo do Unity são confirmadas para evitar conflitos de corrupção e simultaneidade. Confira Acessar os dados do Databricks usando sistemas externos.

    Importante

    Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar prévias do Azure Databricks.

Requisitos

  • As tabelas devem ser tabelas gerenciadas do Catálogo do Unity (Delta ou Iceberg).
  • O Databricks Runtime 16.4 ou superior é necessário para ler, gravar ou criar tabelas com commits de catálogo ativados.
  • O Databricks Runtime 18.0 e superior é necessário para habilitar ou desabilitar confirmações de catálogo em tabelas existentes.

Habilitar confirmações de catálogo

Você pode habilitar confirmações de catálogo em tabelas novas e existentes.

Habilitar confirmações de catálogo para novas tabelas

Use a propriedade da delta.feature.catalogManaged tabela 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ções de catálogo para tabelas existentes

Use ALTER TABLE para adicionar confirmações de catálogo a uma tabela existente:

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

Importante

Habilitar confirmações de catálogo em uma tabela existente sincroniza o estado da tabela com o catálogo. Essa operação pode levar vários minutos em tabelas com cargas de trabalho de gravação altas.

Verificar se as confirmações de catálogo estão habilitadas

Para verificar se uma tabela tem confirmações de catálogo habilitadas:

DESCRIBE DETAIL sales_data;

Se habilitado, catalogManaged será exibido na tableFeatures coluna.

Desabilitar confirmações de catálogo

Você pode desabilitar confirmações de catálogo usando o Databricks Runtime 18.0 e superior. Confira Remover um recurso de tabela do Delta Lake e fazer downgrade do protocolo de tabela.

Aviso

Não cancele operações de atualização ou reversão de versão enquanto executa instruções de ALTER ou DROP. A interrupção pode deixar a tabela em um estado parcialmente atualizado ou rebaixado, bloqueando-a de todas as leituras e gravações futuras. Para reverter, execute o comando apropriado novamente em vez de cancelar. Entre em contato com o suporte do Databricks se a tabela ficar bloqueada.

Limitações

  • Você não pode habilitar ou desabilitar confirmações de catálogo usando CREATE OR REPLACE TABLE ou REPLACE TABLE. Use CREATE TABLE com a propriedade delta.feature.catalogManaged para habilitar ao criar uma tabela ou ALTER TABLE para habilitar ou desabilitar em uma tabela existente.
  • Tabelas com confirmações de catálogo habilitadas são compartilhadas por meio do Compartilhamento Delta usando URLs pré-assinadas em vez de tokens de nuvem.
  • Exibições na parte superior das tabelas com confirmações de catálogo habilitadas não podem ser compartilhadas por Delta.
  • Exibições materializadas e tabelas de streaming não podem ter confirmações de catálogo habilitadas.
  • Tabelas com confirmações de catálogo habilitadas não podem ser a tabela de origem para um acionador de Lakeflow Jobs.
  • Zerobus não pode gravar em tabelas quando as confirmações de catálogo estão habilitadas.

Próximas Etapas