Configurar a visualização materializada em Databricks SQL
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.
- Clique em
Catálogo na barra lateral.
- Na árvore Catalog Explorer, à esquerda, abra o catálogo e selecione o esquema em que o site view materializado está localizado.
- 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:
GRANT <privilege_type> ON <mv_name> TO <principal>;
O privilege_type pode ser:
SELECT
- O usuário podeSELECT
o materializado view.REFRESH
- O usuário pode acessarREFRESH
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:
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:
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
:
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:
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
:
ALTER TABLE <table-name> SET TBLPROPERTIES ('pipelines.channel' = 'preview');