Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Configure vistas materializadas independentes, incluindo o controlo de acesso aos resultados, ao criar a vista materializada com CREATE OR REPLACE MATERIALIZED VIEW, ou após a criação com ALTER TABLE.
Descrever uma visão materializada
Para recuperar as colunas e os tipos de dados para uma vista materializada, 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 atualização de uma exibição materializada, use DESCRIBE EXTENDED. Para enviar uma DESCRIBE instrução, use o editor SQL na interface do usuário do Azure Databricks, a CLI SQL do Databricks ou a API SQL do Databricks.
Obtenha informações detalhadas sobre visualizações materializadas com o Catalog Explorer
Como alternativa, você pode usar o Gerenciador de Catálogos para exibir detalhes sobre um modo de exibição materializado.
- Clique no
Catálogo na barra lateral.
- Na árvore do Catalog Explorer à esquerda, abra o catálogo e selecione o esquema onde sua exibição materializada está localizada.
- Abra o item Tabelas sob o esquema selecionado e clique na vista materializada.
A partir daqui, você pode usar as guias sob o nome do modo de exibição materializado para visualizar e editar informações sobre o modo de exibição materializado, incluindo:
- Atualizar o status e a programação
- Consulte os detalhes do pipeline para ver o histórico das atualizações e registos detalhados de cada atualização. Clique em Ver detalhes da atualização no separador Visão geral para visualizar os detalhes do pipeline.
- O esquema da tabela
- Dados de amostra (requer um cálculo ativo)
- Permissions
- Linhagem, incluindo tabelas e condutas de que esta visão materializada depende
- Informações sobre o uso
- Monitores que você criou para essa exibição materializada
Há algumas propriedades da tabela que não estão disponíveis no Gerenciador de Catálogos. Para essas propriedades, ou para obter as informações programaticamente, você pode usar o comando DESCRIBE EXTENDED .
Atualizar a definição de uma visão materializada
A consulta que especifica a vista materializada é a sua definição. Para alterar a definição da vista materializada, edite a consulta ou crie uma nova consulta CREATE OR REPLACE MATERIALIZED VIEW com o mesmo nome de vista e, em seguida, execute-a. Uma atualização completa é executada para atualizar a exibição materializada, e outras atualizações usam a nova definição.
Controlar o acesso a vistas materializadas
As visualizações materializadas suportam controles de acesso avançados para dar suporte ao compartilhamento de dados, evitando a exposição de dados potencialmente privados. Um proprietário de vista materializada ou um utilizador com o privilégio MANAGE pode conceder privilégios SELECT a outros utilizadores. Os utilizadores com SELECT acesso à vista materializada não necessitam de SELECT aceder às tabelas referenciadas pela vista materializada. Esse controle de acesso permite o compartilhamento de dados enquanto controla o acesso aos dados subjacentes.
Também pode modificar o dono de uma vista materializada.
Conceder privilégios a uma visão materializada
Para conceder acesso a uma visão materializada, utilize a GRANT instrução:
GRANT <privilege_type> ON <mv_name> TO <principal>;
O "tipo de privilégio" pode ser:
-
SELECT- o usuário podeSELECTa visão materializada. -
REFRESH- o usuário podeREFRESHa visão materializada. As atualizações são executadas usando as permissões do proprietário.
O exemplo a seguir cria uma exibição materializada e concede privilégios de seleção e atualização 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;
-- Grant read and refresh access:
GRANT SELECT ON mv_name TO refresh_user;
GRANT REFRESH ON mv_name TO refresh_user;
Revogar privilégios de uma visão materializada
Para revogar o acesso a partir de uma visão materializada, use a REVOKE instrução:
REVOKE privilege_type ON <mv_name> FROM principal;
Quando os privilégios em uma tabela de origem SELECT são revogados do proprietário da exibição materializada ou de qualquer outro usuário que tenha recebido privilégios MANAGE ou SELECT na exibição materializada, ou a tabela de origem é eliminada, o proprietário da exibição materializada ou o usuário com acesso concedido ainda consegue consultar a exibição materializada. No entanto, ocorre o seguinte comportamento:
- O proprietário da vista materializada ou outros que perderam o acesso a uma vista materializada já não
REFRESHconseguem essa visão materializada, e a vista materializada torna-se obsoleta. - Se automatizado com uma agenda, a próxima tarefa agendada
REFRESHfalha ou não é executada.
O exemplo a seguir revoga o SELECT privilégio de read_only_user:
REVOKE SELECT ON mv_name FROM read_only_user;
Alterar o proprietário de uma vista materializada
Um utilizador com permissões MANAGE numa visualização materializada independente pode definir um novo proprietário no Explorador de Catálogos. O novo proprietário pode ser ele próprio ou um principal de serviço no qual tem o papel de Utilizador Principal de Serviço .
A partir do seu espaço de trabalho Azure Databricks, clique
Catalogar para abrir o Explorador de Catálogos.
Selecione a visualização materializada que pretende atualizar.
Na barra lateral direita, em Sobre esta vista materializada, encontre o Proprietário e clique
editar.
Observação
Se receber uma mensagem a indicar que deve atualizar o proprietário alterando o utilizador Executar como nas definições de pipeline, então a vista materializada está definida numa pipeline do Lakeflow, e não como uma tabela independente. A mensagem inclui um link para as configurações do pipeline, onde é possível alterar o utilizador de execução.
Selecione um novo proprietário para a visualização materializada.
Os proprietários têm automaticamente privilégios de
MANAGEeSELECTsobre as visualizações materializadas que possuem. Se estiver a definir uma entidade de serviço como proprietário de uma vista materializada que possui, e não tiver explicitamente privilégiosSELECTouMANAGEsobre a vista materializada, então esta alteração fará com que perca todo o acesso à vista materializada. Neste caso, é solicitado que conceda explicitamente esses privilégios.Selecione tanto Conceder GERIR como Conceder SELECT privilégios para aplicar isso no Guardar.
Clica em Guardar para mudar o proprietário.
O proprietário da visualização materializada é atualizado. Todas as atualizações futuras são feitas usando a identidade do novo proprietário.
Quando o proprietário perde privilégios para tabelas de origem
Se você alterar o proprietário e o novo proprietário não tiver acesso às tabelas de origem (ou SELECT os privilégios forem revogados nas tabelas de origem subjacentes), os usuários ainda poderão consultar a exibição materializada. No entanto:
- Não podem
REFRESHa visão materializada. - A próxima atualização agendada da visualização materializada falha.
Perder o acesso aos dados de origem impede que as atualizações sejam feitas, mas não invalida imediatamente a possibilidade de ler a vista materializada existente.
Versão em tempo de execução
As visualizações materializadas correm sempre na versão mais recente do Databricks SQL em runtime. A propriedade pipelines.channel table, anteriormente utilizada para selecionar um canal de tempo de execução preview ou current, já não é suportada e não tem qualquer efeito. Se uma definição existente incluir esta propriedade, ela é ignorada em segurança e não é necessário removê-la.