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.
Os commits de catálogo transferem a coordenação dos commits do sistema de arquivos para o Unity Catalog, tornando o catálogo a única fonte de verdade para o estado das tabelas do Delta Lake e do Apache Iceberg. Isso permite transações de várias tabelas, planejamento de consulta mais rápido e acesso controlado em todas as operações de tabela.
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. Ao mover a coordenação de commits para o nível do catálogo, isso possibilita que as organizações gerenciem de forma consistente todo o acesso ao Lakehouse por meio do Unity Catalog. 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.
Important
As transações que gravam em tabelas Iceberg gerenciadas pelo Unity Catalog estão em Versão Prévia Privada. Para ingressar nesta versão prévia, envie o formulário de inscrição para versão prévia das tabelas Iceberg gerenciadas.
Acesso controlado: as leituras e gravações são coordenadas por meio do Unity Catalog, 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 Unity Catalog 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 Unity Catalog são confirmadas para evitar conflitos de corrupção e simultaneidade. Confira Acessar os dados do Databricks usando sistemas externos.
Important
Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.
Requirements
- As tabelas devem ser tabelas gerenciadas pelo Catálogo Unity (Delta ou Iceberg), incluindo tabelas de streaming ou visualizações materializadas.
- É necessário ter o Databricks Runtime 16.4 ou superior para ler, gravar ou criar tabelas gerenciadas com as commits de catálogo habilitadas.
- É necessário ter o Databricks Runtime 18.0 e superior para habilitar ou desabilitar confirmações de catálogo em tabelas gerenciadas existentes.
- O Databricks Runtime 17.3 ou posterior é necessário para ler ou gravar em tabelas de streaming ou exibições materializadas com confirmações de catálogo ativadas.
- No Spark Declarative Pipelines, é necessário usar computação sem servidor ou computação clássica com Databricks Runtime 17.3 ou posterior para ler, gravar, criar ou fazer upgrade de tabelas de streaming ou visualizações materializadas com commits no catálogo habilitados.
- O Databricks Runtime 18 LTS ou versões posteriores é necessário para desabilitar os commits de catálogo em tabelas de streaming existentes ou visualizações materializadas.
Habilitar confirmações de catálogo
Ative commits de catálogo para tabelas gerenciadas novas ou existentes, tabelas de streaming e visualizações materializadas.
Habilitar confirmações de catálogo para novas tabelas gerenciadas
Use a delta.feature.catalogManaged propriedade da tabela ao criar uma tabela gerenciada:
CREATE TABLE sales_data (
sale_id BIGINT,
amount DECIMAL(10,2),
sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Ative confirmações no catálogo para tabelas gerenciadas existentes
Use ALTER TABLE para adicionar commits do catálogo a uma tabela gerenciada existente:
ALTER TABLE sales_data SET TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Important
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 grandes volumes de operações de gravação.
Ative commits no catálogo para tabelas novas ou existentes de streaming ou visualizações materializadas
Adicione a propriedade de tabela delta.feature.catalogManaged à tabela de streaming ou na definição da visualização materializada e depois execute uma atualização. Para um objeto existente, atualize sua definição original. Não há suporte para ALTER TABLE ... SET TBLPROPERTIES.
O exemplo a seguir habilita confirmações no catálogo para uma nova tabela de streaming ou uma já existente:
CREATE OR REFRESH STREAMING TABLE streaming_sales_data
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported')
AS SELECT * FROM STREAM sales_data;
Para uma visualização materializada, use a mesma propriedade de tabela em sua definição CREATE OR REFRESH MATERIALIZED VIEW.
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.
Desativar confirmações de catálogo
Use o Databricks Runtime 18.0 ou posterior para desativar os commits do catálogo em uma tabela gerenciada existente.
Para uma tabela de streaming existente ou exibição materializada, use o Databricks Runtime 18 LTS ou 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 ativar nem desativar commits de catálogo em tabelas gerenciadas já existentes usando
CREATE OR REPLACE TABLEouREPLACE TABLE. UseCREATE TABLEcom a propriedadedelta.feature.catalogManagedpara ativá-lo ao criar uma tabela gerenciada, ouALTER TABLEpara ativá-lo ou desativá-lo em uma tabela gerenciada existente. - Commits de catálogo não são compatíveis com acesso externo a dados em tabelas de streaming ou visualizações materializadas. Para usar confirmações de catálogo, primeiro desabilite o acesso externo. Consulte Habilitar o acesso a dados externos a tabelas de streaming e exibições materializadas.
- Tabelas com confirmações de catálogo habilitadas são compartilhadas por meio do OpenSharing usando URLs pré-assinadas em vez de tokens de nuvem.
- Os clusters de usuário único não podem acessar tabelas de streaming com confirmações de catálogo habilitadas.