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
):
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.
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.
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 eUSE 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 deUSE CATALOG
em seus catálogos pai eUSE SCHEMA
em seus esquemas pai.