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:

  • No caso de recursos de computação de usuário único no Databricks Runtime 15.4 e superior, recursos de computação compartilhados e SQL warehouses, você precisa SELECT na própria exibição, USE CATALOG no catálogo pai e USE SCHEMA no esquema pai.

    Observação

    Se você estiver usando um recurso de computação de usuário único no Databricks Runtime 15.4 LTS e posterior, também precisará verificar se o workspace está habilitado para a computação sem servidor, que executa a funcionalidade de filtragem de dados que dá suporte ao acesso de exibição sem a necessidade de acesso às exibições e às tabelas subjacentes da exibição. Portanto, você pode ser cobrado por recursos de computação sem servidor ao usar a computação de usuário único para consultar exibições. Confira Controle de acesso refinado na computação de usuário único. A filtragem de dados por meio do Databricks Runtime 15.4 e da computação sem servidor estão em Visualização Pública.

  • No caso de recursos de computação de usuário único no Databricks Runtime 15.3 e inferior, você também precisa ter SELECT em todas as tabelas e exibições que a exibição referencia, além de USE CATALOG nos catálogos pai e USE SCHEMA nos esquemas pai.

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;