O que é uma exibição?
Um view é um objeto somente leitura que é o resultado de uma consulta em 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.
Observação
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.
O senhor pode registrar a visualização materializada em Unity Catalog usando Databricks SQL ou defini-la como parte de um Delta Live Tables pipeline. Consulte Use materialized view in Databricks SQL e What is Delta Live Tables?
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 o escopo do nível Notebook ou do script. Eles não podem ser referenciados fora do site Notebook no qual foram declarados e deixam de existir quando o site Notebook se desvincula do site cluster.
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.
Visualização temporária global do Hive (legado)
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 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. Isso se aplica a todos os tipos de compute que suportam Unity Catalog, incluindo SQL warehouse, clustering no modo de acesso compartilhado e clustering no modo de acesso de usuário único em Databricks Runtime 15.4 e acima.Para clustering em Databricks Runtime 15.3 e abaixo que usam o modo de acesso de usuário único, o senhor também deve ter
SELECT
em todas as tabelas e visualizações referenciadas pelo view, além deUSE CATALOG
em seus catálogos pai eUSE SCHEMA
em seus esquemas pai.
Observação
Se estiver usando um clustering de usuário único em Databricks Runtime 15.4 LTS e acima e quiser evitar a exigência de ter SELECT
nas tabelas e visualizações subjacentes, verifique se o seu 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 um único usuário compute para consultar a visualização. Para obter mais informações, consulte Controle de acesso refinado em um único usuário compute.