Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os commits do catálogo transferem a coordenação dos commits do sistema de ficheiros para o Unity Catalog, tornando o catálogo a única fonte de referência fiável para o estado das tabelas Delta Lake e Apache Iceberg. Isto permite transações entre várias tabelas, um planeamento de consultas mais rápido e acesso controlado em todas as operações sobre tabelas.
As transações tradicionais do Delta Lake coordenam os commits ao nível da tabela individual. Cada tabela gere o seu próprio registo de transações e a deteção de conflitos de forma independente. Ao mover a coordenação dos commits para o nível do catálogo, as organizações podem governar de forma consistente todo o acesso ao Lakehouse no Unity Catalog. Também permite ao Unity Catalog orquestrar commits em várias tabelas dentro de um único limite de transação, ao mesmo tempo que mantém as garantias ACID da Delta Lake.
Benefícios
Os commits de catálogo fornecem as seguintes capacidades:
Transações que abrangem várias tabelas: Executar múltiplas instruções SQL em várias tabelas como um único commit atómico. Todas as mudanças têm sucesso em conjunto ou falham em conjunto. Ver Transações.
Important
As transações que escrevem em tabelas Iceberg geridas pelo Catálogo Unity encontram-se em Prévia Privada. Para aderir a esta pré-visualização, submeta o formulário de inscrição de pré-visualização gerida das tabelas Iceberg.
Acesso governado: As leituras e escritas são coordenadas através do Unity Catalog, garantindo que os motores vejam o estado comprometido mais recente e que as políticas de governança sejam aplicadas.
Planeamento de consultas e escritas mais rápidos: O Unity Catalog informa um cliente Delta sobre metadados ao nível da tabela diretamente quando acede a uma tabela, saltando o armazenamento na nuvem e removendo uma fonte importante de latência de metadados.
Restrições aplicáveis: O Unity Catalog valida ou rejeita alterações de esquema e restrições, prevenindo atualizações incompatíveis que possam quebrar a integridade dos dados ou cargas de trabalho a jusante.
Acesso externo: Escrever em segurança em tabelas geridas do Unity Catalog a partir de motores externos. O Unity Catalog coordena commits para prevenir corrupção e conflitos de concorrência. Consulte aceder aos dados do Databricks usando sistemas externos.
Important
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.
Requirements
- As tabelas devem ser tabelas geridas pelo Catálogo Unity (Delta ou Iceberg), incluindo tabelas de streaming, ou vistas materializadas.
- É necessário o Databricks Runtime 16.4 ou superior para ler, escrever em ou criar tabelas geridas com commits de catálogo ativados.
- É necessário o Databricks Runtime 18.0 ou superior para ativar ou desativar confirmações do catálogo em tabelas geridas existentes.
- A versão 17.3 ou superior do Databricks Runtime é necessária para ler de ou escrever em tabelas de transmissão em fluxo ou visualizações materializadas com commits de catálogo ativados.
- No Spark Declarative Pipelines, é necessária computação sem servidor ou computação clássica com Databricks Runtime 17.3 ou superior para ler, escrever em, criar ou atualizar tabelas de streaming ou vistas materializadas com confirmações de catálogo ativadas.
- O Databricks Runtime 18 LTS e superiores é necessário para desativar commits de catálogo em tabelas de streaming existentes ou visualizações materializadas.
Ativar commits de catálogo
Ative as confirmações de catálogo para tabelas geridas, tabelas de transmissão em fluxo e visualizações materializadas, novas ou existentes.
Ativar confirmações do catálogo para novas tabelas geridas
Use a propriedade de tabela delta.feature.catalogManaged ao criar uma tabela gerida:
CREATE TABLE sales_data (
sale_id BIGINT,
amount DECIMAL(10,2),
sale_date DATE
)
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Ativar confirmações no catálogo para tabelas geridas existentes
Utilize ALTER TABLE para adicionar commits do catálogo a uma tabela gerida existente:
ALTER TABLE sales_data SET TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported');
Important
Ativar os commits de catálogo numa tabela existente sincroniza o estado da tabela com o catálogo. Esta operação pode demorar vários minutos em tabelas com elevados volumes de operações de escrita.
Ative as confirmações de catálogo para tabelas de fluxo contínuo e visualizações materializadas, novas ou existentes
Adicione a propriedade delta.feature.catalogManaged da tabela à definição da tabela de streaming ou da vista materializada e execute depois uma atualização. Para um objeto existente, atualize a sua definição original.
ALTER TABLE ... SET TBLPROPERTIES não é suportado.
O exemplo seguinte ativa confirmações no catálogo para uma tabela de streaming nova ou existente:
CREATE OR REFRESH STREAMING TABLE streaming_sales_data
TBLPROPERTIES ('delta.feature.catalogManaged' = 'supported')
AS SELECT * FROM STREAM sales_data;
Para uma vista materializada, use a mesma propriedade de tabela na sua CREATE OR REFRESH MATERIALIZED VIEW definição.
Verifique se os commits do catálogo estão ativados
Para verificar se uma tabela tem commits de catálogo ativados:
DESCRIBE DETAIL sales_data;
Se ativado, catalogManaged aparece na tableFeatures coluna.
Desative as confirmações do catálogo
Utilize o Databricks Runtime 18.0 ou superior para desativar as confirmações do catálogo numa tabela gerida existente.
Para uma tabela de streaming existente ou vista materializada, utilize o Databricks Runtime 18 LTS ou superior.
Consulte Remover uma funcionalidade da tabela Delta Lake e fazer downgrade do protocolo da tabela.
Warning
Não cancele operações de atualização ou de downgrade durante a execução de instruções ALTER ou DROP. A interrupção pode deixar a tabela num estado parcialmente atualizado ou degradado, bloqueando-a de todas as leituras e escritas futuras. Para reverter, execute novamente o comando apropriado em vez de cancelar. Contacte o suporte da Databricks se a tabela ficar bloqueada.
Limitações
- Não pode ativar nem desativar as confirmações do catálogo em tabelas geridas existentes através de
CREATE OR REPLACE TABLEouREPLACE TABLE. UtilizeCREATE TABLEcom a propriedadedelta.feature.catalogManagedpara a ativar ao criar uma tabela gerida, ouALTER TABLEpara a ativar ou desativar numa tabela gerida existente. - Os 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 os commits do catálogo, tem primeiro de desativar o acesso externo. Veja Ativar o acesso a dados externos para tabelas de streaming e visualizações materializadas.
- As tabelas com commits de catálogo ativados são partilhadas através do OpenSharing, recorrendo a URLs pré-assinados em vez de tokens da cloud.
- Clusters de utilizador único não podem aceder a tabelas de streaming que tenham commits de catálogo ativados.