Criar e gerenciar a visualização

Este artigo mostra como criar uma visualização em Unity Catalog. Consulte O que é um view?

Permissões necessárias

Para criar um view:

  • O senhor deve ter a permissão USE CATALOG no catálogo pai e as permissões USE SCHEMA e CREATE TABLE no esquema pai. Um administrador do metastore ou o proprietário do catálogo pode conceder ao senhor todos esses privilégios. O proprietário do esquema pode conceder ao senhor privilégios USE SCHEMA e CREATE TABLE no esquema.

  • O senhor deve ser capaz de ler as tabelas e exibições referenciadas no site view (SELECT na tabela ou view, bem como USE CATALOG no catálogo e USE SCHEMA no esquema).

  • Se um view fizer referência a tabelas no workspace-local Hive metastore, o view poderá ser acessado somente a partir do workspace que contém as tabelas workspace-local. Por esse motivo, o site Databricks recomenda a criação de visualizações somente a partir de tabelas ou visualizações que estejam no metastore Unity Catalog.

  • O senhor não pode criar um view que faça referência a um view que tenha sido compartilhado com o senhor usando Delta Sharing. Consulte O que é Delta Sharing?

Para ler um view, 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 e USE SCHEMA em seu esquema pai. Isso se aplica a todos os tipos de compute que suportam Unity Catalog, incluindo SQL warehouse, clusters no modo de acesso compartilhado e clusters no modo de acesso de usuário único em Databricks Runtime 15.4 e acima.

  • Para clusters 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 de USE CATALOG em seus catálogos pai e USE SCHEMA em seus esquemas pai.

Observação

Se estiver usando um cluster 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 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.

Criar uma visualização

Para criar um view, execute o seguinte comando SQL. Os itens entre parênteses são opcionais. Substitua os valores do espaço reservado:

  • <catalog-name>: O nome do catálogo.

  • <schema-name>: O nome do esquema.

  • <view-name>: Um nome para o site view.

  • <query>: A consulta, as colunas, as tabelas e a visualização usadas para compor o view.

CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

Por exemplo, para criar um view chamado sales_redacted a partir de colunas da tabela sales_raw:

CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
  user_id,
  email,
  country,
  product,
  total
FROM sales_metastore.sales.sales_raw;

O senhor também pode criar um view usando o provedorDatabricks Terraform e databricks_table. O senhor pode recuperar uma lista de nomes completos de view usando a visualização.

Soltar uma visualização

O senhor deve ser o proprietário do viewpara enviar um view. Para descartar um view, execute o seguinte comando SQL:

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;