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.

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.

O senhor pode registrar a visualização materializada em Unity Catalog usando Databricks SQL ou defini-las como parte de um DLT pipeline. Consulte Use materialized view em Databricks SQL e What is DLT?

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).

Para compute dedicado, 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.
  • Para acessar a visualização usando o modo de acesso dedicado, o senhor também deve ter SELECT em todas as tabelas e visualizações referenciadas pelo site view, além de USE CATALOG em seus catálogos pai e USE SCHEMA em seus esquemas pai.