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õesUSE SCHEMA
eCREATE 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égiosUSE SCHEMA
eCREATE 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 comoUSE CATALOG
no catálogo eUSE 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 eUSE 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émUSE CATALOG
de em seus catálogos pai eUSE 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;