Compartilhar via


Criar e gerenciar exibições

Este artigo mostra como criar views no Unity Catalog. Consulte O que é uma visualização?.

Permissões necessárias

Para criar uma exibição:

  • 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 metastore ou o proprietário do catálogo podem conceder todos esses privilégios. Um proprietário de esquema ou um usuário com o privilégio MANAGE pode conceder os privilégios USE SCHEMA e CREATE TABLE no esquema para você.
  • Você deve ter a capacidade 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 uma exibição referenciar tabelas no metastore do Hive local do workspace, o modo de exibição poderá ser acessado somente no workspace que contém as tabelas locais do workspace. Por esse motivo, o Databricks recomenda criar visões somente de tabelas ou visões que estejam no metastore do Catálogo Unity.

Para ler uma visualização, as permissões necessárias dependem do tipo de computação, da versão do Databricks Runtime e do modo de acesso. Consulte os Requisitos para consultar exibições.

Para atualizar uma definição ou descrição de exibição, você deve ser o proprietário da exibição. Ter o MANAGE privilégio é insuficiente. Para obter detalhes, consulte as páginas de referência ALTER VIEW e COMMENT ON.

Criar uma visualização

Para criar uma exibição, execute o comando SQL a seguir. Os itens entre colchetes 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 exibição.
  • <query>: A consulta, as colunas, tabelas e visualizações usadas para compor a visualização.
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

Por exemplo, para criar uma exibição chamada sales_redacted com base nas 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;

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

Remover uma exibição

Você deve ser o proprietário da visão ou ter o privilégio MANAGE na visão para excluir uma visão. Para descartar uma exibição, execute o seguinte comando SQL:

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;