Compartilhar via


Criar e gerenciar exibições

Este artigo mostra como criar exibições no Catálogo do Unity. Consulte O que é uma exibiçã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 pode conceder a você os privilégios USE SCHEMA e CREATE TABLE no esquema.
  • 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 exibições somente de tabelas ou exibições que estejam no metastore do Catálogo do Unity.
  • Você não pode criar uma exibição que referencie a uma exibição que foi compartilhada com você usando o Compartilhamento Delta. Consulte O que é o Compartilhamento Delta?.

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 na própria exibição, USE CATALOG em seu catálogo pai e USE SCHEMA em seu esquema pai. Isso se aplica a todos os tipos de computação que dão suporte ao Catálogo do Unity, incluindo SQL warehouses, 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 versões anteriores que usam o modo de acesso de usuário único, você também deve ter SELECT em todas as tabelas e exibições referenciadas pela exibição, além USE CATALOG de em seus catálogos pai e USE SCHEMA em seus esquemas pai.

Observação

Se você estiver usando um cluster de usuário único no Databricks Runtime 15.4 LTS e superior e quiser evitar o requisito de ter SELECT nas tabelas e exibições subjacentes, verifique se o workspace está habilitado para computação sem servidor.

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

Criar uma exibiçã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 exibições usadas para compor a exibiçã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 exibição usando o provedor e o databricks_table do Terraform do Databricks. Recupere uma lista de nomes completos de exibição usando o databricks_views.

Remover uma exibição

Você deve ser o proprietário da exibição para remover uma exibição. Para criar uma exibição, execute o comando SQL a seguir.

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;