Pular para o conteúdo principal

O que é um view?

Um view é um objeto somente leitura que é o resultado de uma consulta sobre uma ou mais tabelas e visualizações em um metastore Unity Catalog. O senhor pode criar um view a partir de tabelas e de outras visualizações em vários esquemas e catálogos.

Este artigo descreve a visualização que o senhor pode criar em Databricks e fornece uma explicação sobre as permissões e compute necessárias para consultá-las.

Para obter informações sobre como criar a visualização, consulte:

ver em Unity Catalog

Em Unity Catalog, a visualização fica no terceiro nível do namespace de três níveis (catalog.schema.view):

Unity Catalog diagrama do modelo de objeto, com foco na view

O site view armazena o texto de uma consulta, normalmente em uma ou mais fontes de dados ou tabelas no metastore. Em Databricks, um view é equivalente a um Spark DataFrame persistido como um objeto em um esquema. Ao contrário de DataFrames, o senhor pode consultar a visualização de qualquer lugar em Databricks, desde que tenha permissão para isso. A criação de um view não processa nem grava nenhum dado. Somente o texto da consulta é registrado no metastore no esquema associado.

nota

podem ter uma semântica de execução diferente se forem apoiadas por fontes de dados que não sejam as tabelas Delta. Databricks recomenda que o senhor sempre defina a visualização fazendo referência à fonte de dados usando uma tabela ou o nome view. A definição da visualização em relação ao conjunto de dados por meio da especificação de um caminho ou URI pode levar a requisitos de governança de dados confusos.

visão métrica

A visualização de métricas em Unity Catalog define métricas de negócios reutilizáveis que são mantidas de forma centralizada e acessíveis a todos os usuários em seu workspace. A métricas view abstrai a lógica por trás dos KPIs comumente usados - como receita, número de clientes ou taxa de conversão - para que possam ser consultados de forma consistente em painéis, Notebook e relatórios. Cada métrica view especifica um conjunto de medidas e dimensões com base em uma tabela de origem, view ou consulta SQL. As visualizações métricas são definidas em YAML e consultadas usando SQL.

O uso da visualização de métricas ajuda a reduzir as inconsistências nas definições de métricas que, de outra forma, poderiam ser duplicadas em várias ferramentas e fluxos de trabalho. Veja métricas view para saber mais.

Visualização materializada

A visualização materializada calcula e atualiza de forma incremental os resultados retornados pela consulta de definição. A visualização materializada em Databricks é um tipo especial de tabela Delta. Enquanto todas as outras visualizações em Databricks calculam os resultados avaliando a lógica que definiu a view quando ela é consultada, a visualização materializada processa os resultados e os armazena em uma tabela subjacente quando as atualizações são processadas usando um programa refresh ou executando uma atualização pipeline.

Você pode registrar visualizações materializadas no Unity Catalog usando Databricks SQL ou defini-las como parte do pipeline declarativo LakeFlow Spark . Consulte Usar visualização materializada Databricks SQL pipeline declarativo do Databricks SQL eLakeFlow Spark.

Visualização temporária

Um view temporário tem escopo e persistência limitados e não é registrado em um esquema ou catálogo. A vida útil de um view temporário varia de acordo com o ambiente que o senhor está usando:

  • No Notebook e no Job, a visualização temporária tem como escopo o nível do Notebook ou do script. Eles não podem ser referenciados fora do Notebook no qual foram declarados e deixam de existir quando o Notebook é desconectado do clustering.
  • No Databricks SQL, as exibições temporárias têm o escopo definido para o nível de consulta. Várias instruções dentro da mesma consulta podem usar o modo de exibição temporário, mas ele não pode ser referenciado em outras consultas, mesmo dentro do mesmo painel.

Visualização dinâmica

A visualização dinâmica pode ser usada para fornecer controle de acesso em nível de linha e coluna, além do mascaramento de dados. Consulte Criar um site dinâmico view.

vista no site Hive metastore (legado)

O senhor pode definir o legado Hive view em relação a qualquer fonte de dados e registrá-los no legado Hive metastore. Databricks recomenda a migração de todas as visualizações legadas do Hive para o Unity Catalog. Veja a visualização em Hive metastore.

Hive temp global (legado) view

A visualização temporária global é um recurso legado do Databricks que permite que o senhor registre um view temporário disponível para todas as cargas de trabalho executadas em um recurso do compute. A visão global da temperatura é um legado herdado de Hive e HDFS. Databricks recomenda não usar a visualização temporária global.

Requisitos para a visualização de consultas

Para ler as visualizações registradas em Unity Catalog, as permissões necessárias dependem do tipo compute, da versão Databricks Runtime e do modo de acesso.

nota

Para todas as visualizações, as verificações de permissão são realizadas no próprio site view e nas tabelas e visualizações subjacentes sobre as quais o site view foi criado. O usuário cujas permissões são verificadas para tabelas e visualizações subjacentes depende do site compute. Para o seguinte, o site Unity Catalog verifica as permissões do proprietário do site view nos dados subjacentes:

  • SQL armazém.
  • Padrão compute (anteriormente compartilhado compute).
  • Dedicado compute (anteriormente usuário único compute) em Databricks Runtime 15.4 LTS e acima com controle de acesso refinado ativado.

Para compute dedicado em Databricks Runtime 15.3 e abaixo, Unity Catalog verifica as permissões do proprietário de view e as permissões do usuário de view nos dados subjacentes.

Esse comportamento está refletido nos requisitos listados abaixo. Em ambos os casos, o proprietário do view deve manter as permissões nos dados subjacentes para que os usuários do view possam acessar o view.

  • Para todos os recursos do compute, o senhor deve ter SELECT no próprio view, USE CATALOG em seu catálogo pai e USE SCHEMA em seu esquema pai. Isso se aplica a todos os tipos de compute que suportam Unity Catalog, incluindo SQL warehouse, clustering no modo de acesso padrão e clustering no modo de acesso dedicado em Databricks Runtime 15.4 e acima.
  • Para clustering em Databricks Runtime 15.3 e abaixo que usam o modo de acesso dedicado, o senhor também deve ter SELECT em todas as tabelas e visualizações referenciadas pelo view, além de USE CATALOG em seus catálogos pai e USE SCHEMA em seus esquemas pai.
nota

Se estiver usando um clustering dedicado em Databricks Runtime 15.4 LTS e acima e quiser evitar a necessidade de ter SELECT nas tabelas e visualizações subjacentes, verifique se o workspace está habilitado para serverless compute .

O compute sem servidor lida com a filtragem de dados, o que permite o acesso a um view sem exigir permissões em suas tabelas e exibições subjacentes. Esteja ciente de que o senhor poderá incorrer em encargos serverless compute quando usar o compute dedicado para consultar a visualização. Para obter mais informações, consulte Controle de acesso refinado no site dedicado compute.