Acessar exibições materializadas e tabelas de streaming usando sistemas externos

Por padrão, exibições materializadas e tabelas de streaming não estão disponíveis para acesso de sistemas externos. Azure Databricks fornece dois recursos que permitem disponibilizar seus conjuntos de dados para clientes Delta Lake ou Iceberg:

  • Acesso externo a dados - Habilitar o acesso externo a dados para visualizações materializadas e tabelas de streaming gerenciadas por pipeline e autônomas publica metadados externos que permitem aos clientes usar as APIs REST do Unity Catalog ou do Iceberg sem exigir uma cópia completa dos dados nem uma agenda de atualização separada. Os clientes devem usar as APIs REST do catálogo e suportar tanto Delta Lake 4.0.0 ou superior, quanto a especificação Iceberg V3.

    Para mais detalhes sobre o acesso externo a dados para visualizações materializadas e tabelas de streaming gerenciadas por pipeline e autônomas, veja Permitir acesso externo a dados para tabelas de streaming e visualizações materializadas.

  • Modo de compatibilidade (Visualização Pública) – Habilitar o modo de compatibilidade para um conjunto de dados gera uma versão somente leitura dos dados em um local escolhido, que deve ser atualizado quando as tabelas são atualizadas. A versão de compatibilidade inclui metadados v1 para os formatos do Delta Lake e do Iceberg, juntamente com a cópia somente leitura dos dados, permitindo o acesso a uma gama mais ampla de clientes (incluindo clientes que devem ler os dados da tabela diretamente, em vez de por meio de uma API) em detrimento do atraso nas atualizações de dados e dos custos de cópia de dados.

    Para obter detalhes sobre o modo de compatibilidade, consulte o Modo de Compatibilidade.

Se seus clientes externos derem suporte às APIs REST, Azure Databricks recomenda usar o acesso a dados externos para dar a esses clientes acesso a exibições materializadas ou tabelas de streaming. Para uma gama mais ampla de clientes, especialmente clientes mais antigos e outras tabelas gerenciadas do Catálogo do Unity, use o modo de compatibilidade.

Capability Acesso a dados externos Modo de compatibilidade
Cópia de dados Nenhuma cópia de dados é necessária. Cópia de dados necessária.
Consistência Consistência de leitura após gravação. Os clientes externos veem alterações assim que ocorrem no conjunto de dados. As atualizações ocorrem de acordo com uma programação. Por padrão, a tabela de compatibilidade é atualizada por hora. Isso pode ser definido para ser atualizado imediatamente após uma alteração na tabela de origem, mas ainda é adiado pelo tempo de cópia de dados.
Access Requer acesso "moderno" à API REST. Oferece suporte a APIs de catálogo do Delta 4.0.0 ou posterior, ou a APIs da especificação Iceberg v3 (requer suporte a vetores de exclusão). Compatível com todos os clientes Delta Lake ou Iceberg.
Objeto de tabela única Exibições materializadas e tabelas de streaming aparecem como tabelas gerenciadas com o mesmo nome do conjunto de dados original para os clientes externos. As tabelas de compatibilidade aparecem como uma nova tabela em um novo local para os clientes externos.
Suporte a tipos de tabela Suporta visualizações materializadas e tabelas de streaming gerenciadas por um pipeline Lakeflow ou criadas como objetos independentes. Oferece suporte a visões materializadas e tabelas de streaming, sejam gerenciadas por um pipeline do Lakeflow ou independentes, além de quaisquer outras tabelas gerenciadas pelo Unity Catalog.
Custo O custo de manutenção dos metadados voltados para o externo faz parte do custo de atualização da exibição materializada ou da tabela de streaming. Isso geralmente é inferior a 1% do custo e do tempo para a atualização. A maior parte do custo para o modo de compatibilidade é o custo da transferência dos dados herdados para o novo local.

Recursos adicionais