Partilhar via


Criar e gerenciar views

Este artigo mostra como criar views no Unity Catalog. Consulte O que é uma vista?.

Permissões obrigatórias

Para criar uma vista:

  • Você deve ter a permissão USE CATALOG no elemento pai catalog e as permissões USE SCHEMA e CREATE TABLE no elemento pai schema. Um administrador de metastore ou o proprietário do catalog pode grant-lhe todos esses privilégios. Um proprietário ou usuário schema com o privilégio MANAGE pode grant você USE SCHEMA e CREATE TABLE privilégios no schema.
  • Você deve ser capaz de ler o tables e o views referenciados na vista (SELECT no table ou vista, bem como o USE CATALOG no catalog e o USE SCHEMA no schema).
  • Se um modo de exibição fizer referência a tables no metastore do Hive local do espaço de trabalho, o modo de exibição poderá ser acessado somente do espaço de trabalho que contém o tableslocal do espaço de trabalho . Por esse motivo, o Databricks recomenda a criação de views somente a partir de tables ou views que estão no metastore do Unity Catalog.
  • Não é possível criar um modo de exibição que faça referência a um modo de exibição que foi compartilhado com você usando o Compartilhamento Delta. Consulte O que é Delta Sharing?.

Para ler uma exibição, as permissões necessárias dependem do tipo de computação, da versão do Databricks Runtime e do modo de acesso:

  • Para todos os recursos de computação, você deve ter SELECT no modo de exibição em si, USE CATALOG em seu catalogpai e USE SCHEMA em seu schemapai. Isso se aplica a todos os tipos de computação que suportam Unity Catalog, incluindo armazéns SQL, clusters no modo de acesso compartilhado e clusters no modo de acesso de usuário único no Databricks Runtime 15.4 e superior.
  • Para clusters no Databricks Runtime 15.3 e abaixo que utilizem o modo de acesso de usuário único, é necessário ter SELECT em todos os tables e views referenciados pela vista, além de USE CATALOG nos seus catalogs pai e USE SCHEMA nos seus esquemas pai.

Nota

Se você estiver usando um cluster de usuário único no Databricks Runtime 15.4 LTS e superior e quiser evitar a necessidade de ter SELECT no tables e viewssubjacentes, verifique se seu espaço de trabalho está habilitado para computação sem servidor.

A computação sem servidor lida com a filtragem de dados, o que permite o acesso a uma visão sem exigir permissões nos seus elementos subjacentes tables e views. Lembre-se de que você pode incorrer em cobranças de computação sem servidor ao usar computação de usuário único para consultar views. Para obter mais informações, consulte Controle de acesso refinado na computação de usuário único.

Criar uma vista

Para criar um modo de exibição, execute o seguinte comando SQL. Os itens entre parênteses são opcionais. Substitua o marcador de posição values:

  • <catalog-name>: O nome do catalog.
  • <schema-name>: O nome do schema.
  • <view-name>: Um nome para a vista.
  • <query>: A consulta, columns, tables e views usados para compor a visualização.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

Por exemplo, para criar uma vista chamada sales_redacted a partir de columns no sales_rawtable:

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

Você também pode criar uma exibição usando o provedor Databricks Terraform e databricks_table. Você pode recuperar uma list de nomes completos de exibição usando databricks_views.

Soltar uma vista

Tem de ser o proprietário da vista ou ter o privilégio de MANAGE na vista para eliminar uma vista. Para soltar um modo de exibição, execute o seguinte comando SQL:

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;