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 a dados externos (Visualização Pública) – Habilitar o acesso a dados externos para conjuntos de dados de pipeline cria uma cópia dos metadados para o conjunto de dados que permite que os clientes usem o Catálogo do Unity ou as APIs REST do Iceberg, sem a necessidade de uma cópia de dados completa ou agendamento de atualização separado. Os clientes devem usar as APIs REST do catálogo e devem dar suporte ao Delta 4.0.0 ou superior ou à especificação Iceberg v3.

    Para obter detalhes sobre o acesso a dados externos para conjuntos de dados de pipeline, consulte Habilitar o acesso a dados externos a tabelas de streaming e exibiçõ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 Dá suporte a exibições materializadas e tabelas de streaming gerenciadas pelo Lakeflow Spark Declarative Pipelines. Oferece suporte a visualizações materializadas e tabelas de streaming, sejam gerenciadas pelos Pipelines Declarativos do Lakeflow Spark ou independentes, bem como 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