Criar e gerir vistas

Esta página 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 da metastore ou o proprietário do catálogo pode conceder-lhe todos estes privilégios. O proprietário de um esquema, ou um utilizador com o privilégio MANAGE, pode conceder-lhe os privilégios USE SCHEMA e CREATE TABLE sobre o esquema.
  • Tem de ser capaz de ler as tabelas e vistas referenciadas na vista (SELECT na tabela ou vista, e USE CATALOG no catálogo e USE SCHEMA no esquema).
  • Se uma vista fizer referência a tabelas no metastore Hive local do espaço de trabalho, só é possível aceder à vista a partir do espaço de trabalho que contém as tabelas locais desse 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.

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.

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

Criar uma vista

Para criar uma vista, execute o seguinte comando SQL no editor SQL ou num caderno associado à computação. 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 visualização.
  • <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.

Eliminar uma vista

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

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;