O que é uma vista?
Uma exibição é o resultado de uma consulta sobre uma ou mais tabelas e exibições no Unity Catalog. Um modo de exibição é um objeto somente leitura composto por uma ou mais tabelas e exibições em um metastore. Você pode criar um a partir de tabelas e de outros modos de exibição em vários esquemas e catálogos.
Este artigo descreve os modos de exibição que você pode criar no Azure Databricks.
Visualizações no Catálogo Unity
No Unity Catalog, as visualizações ficam no terceiro nível do namespace de três níveis (catalog.schema.view
):
Um modo de exibição armazena o texto de uma consulta normalmente em uma ou mais fontes de dados ou tabelas no metastore. No Azure Databricks, uma exibição é equivalente a um Spark DataFrame persistido como um objeto em um esquema. Ao contrário de DataFrames, você pode consultar modos de exibição de qualquer lugar no Azure Databricks, supondo que você tenha permissão para fazê-lo. A criação de uma vista não processa nem escreve quaisquer dados. Somente o texto da consulta é registrado no metastore no esquema associado.
Nota
As exibições podem ter semânticas de execução diferentes se forem apoiadas por fontes de dados diferentes de tabelas Delta. O Databricks recomenda que você sempre defina modos de exibição fazendo referência a fontes de dados usando um nome de tabela ou exibição. Definir exibições em relação a conjuntos de dados especificando um caminho ou URI pode levar a requisitos confusos de governança de dados.
Vistas materializadas
As visualizações materializadas calculam e atualizam incrementalmente os resultados retornados pela consulta definidora.
Você pode registrar visualizações materializadas no Unity Catalog usando Databricks SQL ou defini-las como parte de um pipeline Delta Live Tables. Consulte Usar exibições materializadas no Databricks SQL e O que é Delta Live Tables?.
Vistas temporárias
Uma exibição temporária tem escopo e persistência limitados e não está registrada em um esquema ou catálogo. O tempo de vida de uma exibição temporária difere com base no ambiente que você está usando:
- Em blocos de anotações e trabalhos, os modos de exibição temporários têm como escopo o nível de bloco de anotações ou script. Eles não podem ser referenciados fora do bloco de anotações no qual são declarados e não existem mais quando o bloco de anotações se desprende do cluster.
- No Databricks SQL, as exibições temporárias têm como escopo o nível de consulta. Várias instruções dentro da mesma consulta podem usar a exibição temporária, mas ela não pode ser referenciada em outras consultas, mesmo dentro do mesmo painel.
Vistas dinâmicas
As exibições dinâmicas podem ser usadas para fornecer controle de acesso em nível de linha e coluna, além de mascaramento de dados. Consulte Criar uma vista dinâmica.
Visualizações no metastore do Hive (legado)
Você pode definir exibições herdadas do Hive em relação a qualquer fonte de dados e registrá-las no metastore herdado do Hive. O Databricks recomenda migrar todas as visualizações herdadas do Hive para o Unity Catalog. Consulte Visualizações no metastore do Hive.
Visualização temporária global do Hive (legado)
As exibições temp globais são um recurso herdado do Azure Databricks que permite registrar uma exibição temporária que está disponível para todas as cargas de trabalho em execução em um recurso de computação. As visualizações temporárias globais são um legado do Hive e do HDFS. O Databricks recomenda não usar visualizações temporárias globais.