Pular para o conteúdo principal

Configurar a visualização materializada em Databricks SQL

info

Visualização

Esse recurso está em Public Preview.

Este artigo descreve como configurar a visualização materializada em Databricks SQL, incluindo o controle de acesso aos resultados. A maior parte da configuração pode ser feita quando o senhor cria o site materializado view com a instrução CREATE OR REPLACE MATERIALIZED VIEW ou, após a criação, com a instrução ALTER TABLE.

Descreva um view

Para recuperar as colunas e os tipos de dados de um site materializado view, use a instrução DESCRIBE. Para recuperar as colunas, os tipos de dados e os metadados, como proprietário, local, hora de criação e status de refresh para um view materializado, use DESCRIBE EXTENDED. Para enviar uma instrução DESCRIBE, use o editor SQL na interface do usuário do Databricks, a CLI do Databricks SQL ou a API do Databricks SQL.

Obter informações detalhadas sobre a visualização materializada com o Catalog Explorer

Como alternativa, o senhor pode usar o Catalog Explorer para view detalhes sobre um site materializado view.

  1. Clique em Ícone de catálogo Catálogo na barra lateral.
  2. Na árvore Catalog Explorer, à esquerda, abra o catálogo e selecione o esquema em que o site view materializado está localizado.
  3. Abra o item Tables (Tabelas ) no esquema que o senhor selecionou e clique na página materializada view.

Aqui, o senhor pode usar a guia sob o nome da view materializada para view e editar informações sobre a view materializada, inclusive:

  • status de atualização e programação
  • Consulte os detalhes de pipeline para ver o histórico de atualização, bem como logs detalhado para cada refresh. Clique em See refresh details em Overview tab para ver os detalhes de pipeline.
  • O esquema da tabela
  • Dados de amostra (requer um site ativo compute)
  • Permissões
  • Linhagem, incluindo tabelas e pipeline dos quais esse view materializado depende
  • percepções em uso
  • Os monitores que o senhor criou para esse sistema materializado view

Há algumas propriedades da tabela que não estão disponíveis no Catalog Explorer. Para essas propriedades, ou para obter as informações programaticamente, o senhor pode usar o comando DESCRIBE EXTENDED.

Atualizar a definição de um view

A consulta que especifica o site view materializado é sua definição. Para alterar a definição do materializado view, edite a consulta ou crie uma nova consulta CREATE OR REPLACE MATERIALIZED VIEW com o mesmo nome view e, em seguida, execute-a. Um refresh completo é realizado para atualizar o view materializado e, posteriormente, usar a nova definição.

Alterar o proprietário de um arquivo materializado view

O senhor pode alterar o proprietário de um view materializado se for um administrador do metastore e um administrador do workspace. A visualização materializada cria e usa automaticamente o pipeline DLT para processar alterações. Use as etapas a seguir para alterar o proprietário de uma visualização materializada:

  • Abra o site materializado view no Catalog Explorer e, em seguida, em Overview tab, clique em See refresh details . Isso abre os detalhes do pipeline para o pipeline que gerencia o view materializado.
  • Clique em Compartilhar . A caixa de diálogo Configurações de permissões é exibida. O senhor deve ser um administrador do metastore e do workspace para editar essas configurações.
  • Clique em x à direita do nome do proprietário atual para remover o proprietário atual.
  • comece a digitar para filtrar a lista de usuários disponíveis. Clique no usuário que deve ser o novo proprietário do pipeline.
  • Clique em Salvar para salvar suas alterações e fechar a caixa de diálogo.

Todos os pipeline ativos, incluindo a visualização materializada definida no pipeline, são de propriedade do novo proprietário do pipeline. Todas as atualizações futuras serão executadas usando a identidade do novo proprietário.

Quando o proprietário perde os privilégios das tabelas de origem

Se o senhor alterar o proprietário e o novo proprietário não tiver acesso às tabelas de origem (ou se os privilégios SELECT forem revogados nas tabelas de origem subjacentes), os usuários ainda poderão consultar a tabela materializada view. No entanto:

  • Eles não podem REFRESH o materializado view.
  • O próximo refresh agendado do view materializado falhará.

A perda de acesso aos dados de origem impede atualizações, mas não invalida imediatamente a leitura do view materializado existente.

Controle o acesso à visualização materializada

As visualizações materializadas oferecem suporte a controles de acesso avançados para o compartilhamento de dados, evitando a exposição de dados potencialmente privados. Um proprietário do view materializado ou um usuário com o privilégio MANAGE pode conceder privilégios SELECT a outros usuários. Os usuários com acesso SELECT à tabela materializada view não precisam de acesso SELECT às tabelas referenciadas pela tabela materializada view. Esse controle de acesso permite o compartilhamento de dados e, ao mesmo tempo, controla o acesso aos dados subjacentes.

Conceder privilégios a um arquivo materializado view

Para conceder acesso a um site materializado view, use a instruçãoGRANT:

SQL
GRANT <privilege_type> ON <mv_name> TO <principal>;

O privilege_type pode ser:

  • SELECT - O usuário pode SELECT o materializado view.
  • REFRESH - O usuário pode acessar REFRESH o site materializado view. As atualizações são executadas usando as permissões do proprietário.

O exemplo a seguir cria um site materializado view e concede privilégios select e refresh aos usuários:

SQL
CREATE MATERIALIZED VIEW mv_name AS SELECT * FROM source_table;

-- Grant read-only access:
GRANT SELECT ON mv_name TO read_only_user;

-- Grand read and refresh access:
GRANT SELECT ON mv_name TO refresh_user;
GRANT REFRESH ON mv_name TO refresh_user;

Revogação de privilégios de um sistema materializado view

Para revogar o acesso de um site materializado view, use a instruçãoREVOKE:

SQL
REVOKE privilege_type ON <mv_name> FROM principal;

Quando os privilégios de SELECT em uma tabela de origem são revogados do proprietário da tabela materializada view ou de qualquer outro usuário que tenha recebido privilégios de MANAGE ou SELECT na tabela materializada view, ou a tabela de origem é descartada, o proprietário da tabela materializada view ou o usuário ao qual foi concedido acesso ainda pode consultar a tabela materializada view. No entanto, ocorre o seguinte comportamento:

  • O proprietário do view materializado ou outras pessoas que perderam o acesso a um view materializado não podem mais REFRESH esse view materializado, e o view materializado se tornará obsoleto.
  • Se automatizado com um programar, o próximo programar REFRESH falha ou não é executado.

O exemplo a seguir revoga o privilégio SELECT de read_only_user:

SQL
REVOKE SELECT ON mv_name FROM read_only_user;

Definir o canal de tempo de execução

A visualização materializada criada usando o warehouse SQL é atualizada automaticamente usando um DLT pipeline. DLT O pipeline usa o tempo de execução no canal current por default. Consulte DLT notas sobre a versão e o processo de upgrade de versão para saber mais sobre o processo de versão.

A Databricks recomenda o uso do canal current para cargas de trabalho de produção. Os novos recursos são liberados primeiro no canal preview. O senhor pode definir um pipeline para o canal DLT de visualização para testar o novo recurso especificando preview como uma propriedade de tabela. Você pode especificar essa propriedade ao criar a tabela ou após a criação da tabela usando uma instrução ALTER.

O exemplo de código a seguir mostra como definir o canal para visualização em uma instrução CREATE:

SQL
CREATE OR REPLACE MATERIALIZED VIEW sales
TBLPROPERTIES ('pipelines.channel' = 'preview')
AS ...

Para alterar o canal após a criação, use a instrução ALTER TABLE:

SQL
ALTER TABLE <table-name> SET TBLPROPERTIES ('pipelines.channel' = 'preview');