Compartilhar via


O que é uma exibição?

Uma exibição é um objeto somente leitura que é o resultado de uma consulta em uma ou mais tabelas e exibições em um metastore do Catálogo do Unity. Você pode criar uma exibição a partir de tabelas e de outras exibições em vários esquemas e catálogos.

Este artigo descreve as exibições que você pode criar no Azure Databricks e fornece uma explicação das permissões e da computação necessárias para consultá-las.

Para obter informações sobre como criar visões, consulte:

Exibições no Catálogo do Unity

No Catálogo do Unity, as exibições ficam no terceiro nível do namespace de três níveis (catalog.schema.view):

Diagrama de modelo de objeto do Catálogo do Unity, focado na exibição

Uma 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 DataFrame do Spark persistido como um objeto em um esquema. Ao contrário do DataFrames, você pode consultar exibições de qualquer lugar no Azure Databricks, supondo que você tenha permissão para fazer isso. A criação de uma exibição não processa nem grava nenhum dado. Somente o texto da consulta é registrado no metastore no esquema associado.

Observação

As exibições poderão ter semântica de execução diferente se forem apoiadas por fontes de dados diferentes das tabelas Delta. O Databricks recomenda que você sempre defina as exibições referenciando as fontes de dados usando um nome de exibição ou de tabela. A definição de exibições em conjuntos de dados pela especificação de um caminho ou de um URI pode resultar em requisitos confusos de governança de dados.

Visualizações de métrica

As exibições de métrica no Catálogo do Unity definem métricas de negócios reutilizáveis que são mantidas centralmente e acessíveis a todos os usuários em seu workspace. Uma exibição de métrica abstrai a lógica por trás de KPIs comumente usados, como receita, contagem de clientes ou taxa de conversão, para que eles possam ser consultados consistentemente entre dashboards, notebooks e relatórios. Cada exibição de métrica especifica um conjunto de medidas e dimensões com base em uma tabela de origem, exibição ou consulta SQL. As exibições de métrica são definidas no YAML e consultadas usando SQL.

O uso de exibições de métrica ajuda a reduzir inconsistências em definições de métrica que, de outra forma, podem ser duplicadas em várias ferramentas e fluxos de trabalho. Veja visualizações de métricas para saber mais.

Exibições materializadas

As exibições materializadas calculam e atualizam incrementalmente os resultados retornados pela consulta de definição. Exibições materializadas no Azure Databricks são um tipo especial de tabela Delta. Enquanto todas as outras exibições no Azure Databricks calculam os resultados avaliando a lógica que definiu a exibição quando ela é consultada, as exibições materializadas processam resultados e os armazenam em uma tabela subjacente quando as atualizações são processadas usando um agendamento de atualização ou executando uma atualização de pipeline.

Você pode registrar visões materializadas no Unity Catalog usando o Databricks SQL ou defini-las como parte dos Pipelines Declarativos do Lakeflow. Consulte Exibições materializadas no Databricks SQL e Pipelines Declarativos do Lakeflow.

Exibições temporárias

Uma exibição temporária tem escopo e persistência limitados e não é 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 notebooks e trabalhos, as exibições temporárias têm como escopo o nível do notebook ou do script. Eles não podem ser referenciados fora do notebook no qual são declarados e não existem mais quando o notebook é desanexado do cluster.
  • Em SQL do Databricks, as exibições temporárias têm como escopo o nível de consulta. Várias instruções na mesma consulta podem usar a exibição temporária, mas não podem ser referenciadas em outras consultas, mesmo no mesmo painel.

Exibições dinâmicas

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. Confira Criar uma exibição dinâmica.

Exibições no metastore do Hive (herdado)

Você pode definir exibições herdadas do Hive em qualquer fonte de dados e registrá-las no metastore herdado do Hive. O Databricks recomenda migrar todas as exibições herdadas do Hive para o Catálogo do Unity. Consulte Exibições no metastore do Hive.

Exibição temporária global do Hive (herdada)

As exibições temporárias globais são um recurso herdado do Azure Databricks que permite registrar uma exibição temporária disponível para todas as cargas de trabalho em execução em um recurso de computação. As exibições temporárias globais são um resquício herdado do Hive e do HDFS. O Databricks não recomenda o uso de exibições temporárias globais.

Requisitos para consultar exibições

Para ler exibições registradas no Catálogo do Unity, as permissões necessárias dependem do tipo de computação, da versão do Databricks Runtime e do modo de acesso.

Observação

Para todas as visualizações, as verificações de permissão são executadas na própria visualização e nas tabelas e visualizações subjacentes sobre as quais a visualização se baseia. O usuário cujas permissões são verificadas para tabelas e visões subjacentes depende do sistema de processamento. Para o seguinte, o Catálogo do Unity verifica as permissões do proprietário da exibição nos dados subjacentes:

  • Armazéns SQL.
  • Computação padrão (computação anteriormente compartilhada).
  • Computação dedicada (anteriormente computação de usuário único) no Databricks Runtime 15.4 LTS e posterior com controle de acesso refinado habilitado.

Para computação dedicada no Databricks Runtime 15.3 ou versões anteriores, o Unity Catalog verifica tanto as permissões do proprietário do view quanto as permissões do usuário do view nos dados subjacentes.

Esse comportamento é refletido nos requisitos listados abaixo. Em ambos os casos, o proprietário da exibição deve manter permissões nos dados subjacentes para que os usuários de exibição acessem a exibição.

  • Para todos os recursos de computação, você deve ter SELECT na própria exibição, USE CATALOG em seu catálogo pai e USE SCHEMA em seu esquema pai. Isso se aplica a todos os tipos de computação que dão suporte ao Unity Catalog, incluindo SQL Warehouses, clusters no modo de acesso padrão e clusters no modo de acesso dedicado no Databricks Runtime 15.4 ou versões superiores.
  • Para clusters no Databricks Runtime 15.3 e anteriores que usam o modo de acesso dedicado, você também deve ter SELECT em todas as tabelas e exibições que são referenciadas pela exibição, além de USE CATALOG em seus catálogos pai e USE SCHEMA em seus esquemas pai.

Observação

Se você estiver usando um cluster dedicado no Databricks Runtime 15.4 LTS e superior e quiser evitar o requisito de ter SELECT nas tabelas e exibições subjacentes, verifique se o workspace está habilitado para computação sem servidor.

A computação sem servidor manipula a filtragem de dados, permitindo o acesso a uma visão sem necessidade de permissões para suas tabelas e visões subjacentes. Lembre-se de que você pode incorrer em encargos de computação sem servidor ao usar a computação dedicada para consultar exibições. Para obter mais informações, consulte o controle de acesso refinado na computação dedicada.