Partilhar via


Criar e gerir vistas

Este artigo mostra como criar vistas 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 catálogo pai e as permissões USE SCHEMA e CREATE TABLE no esquema pai. Um administrador de metastore ou o proprietário do catálogo pode conceder todos esses privilégios. Um proprietário ou usuário do esquema com o privilégio MANAGE pode conceder-lhe privilégios de USE SCHEMA e CREATE TABLE no esquema.
  • Você deve ser capaz de ler as tabelas e exibições referenciadas na exibição (SELECT na tabela ou exibição, bem como USE CATALOG no catálogo e USE SCHEMA no esquema).
  • Se um modo de exibição fizer referência a tabelas 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 as tabelas locais do espaço de trabalho. Por esse motivo, o Databricks recomenda a criação de exibições somente a partir de tabelas ou exibições 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. Consulte Requisitos para consultar vistas.

Criar uma vista

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

  • <catalog-name>: O nome do catálogo.
  • <schema-name>: O nome do esquema.
  • <view-name>: Um nome para a vista.
  • <query>: A consulta, as colunas, as tabelas e as views usadas para compor a vista.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

Por exemplo, para criar uma vista chamada sales_redacted das colunas na tabela sales_raw.

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 lista 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;