Monitorar visualização materializada no Databricks SQL
Visualização
Este recurso está em Visualização Pública.
Este artigo descreve como monitorar e consultar dados refresh sobre uma view materializada no Databricks SQL.
visualizar os detalhes de uma única viewmaterializada
Você pode view os detalhes de uma única view materializada usando o Catalog Explorer ou programaticamente, com as operações DESCRIBE EXTENDED . Você também pode consultar o log de eventos para obter detalhes do histórico refresh de uma view materializada.
ver detalhes no Catalog Explorer
Você pode acessar informações sobre sua view materializada visualizando-a no Catalog Explorer. No Catalog Explorer, você pode ver o último status refresh e qualquer programa de refresh criado no SQL. Para detalhes sobre programas criados em SQL, veja CREATE MATERIALIZED VIEW.
O Catalog Explorer mostra detalhes de cada view materializada em um painel do lado direito, incluindo:
- Status refresh atual e hora da última execução. Para ver mais detalhes sobre a atualização, incluindo a duração da execução, quaisquer erros detalhados, bem como o tipo derefresh (incluindo se a view materializada foi atualizada total ou incrementalmente e o motivo), clique em Ver detalhes refresh .
- atualizar programar . Se a view materializada tiver um programa definido via SQL, o programa será exibido. Para atualizar o programa, use ALTER MATERIALIZED VIEW.
- etiquetas . Para adicionar tags personalizadas, clique em Adicionar tags . As tags não são usadas automaticamente para atribuir custos, mas você pode criar manualmente uma consulta para conectar tags personalizadas aos seus custos. Para obter detalhes, consulte Atribuir custos ao SQL warehouse com tagspersonalizadas.
Há propriedades da view materializada que não estão disponíveis no Catalog Explorer. Para essas propriedades, ou para obter as informações programaticamente, você pode usar o comando DESCRIBE EXTENDED .
ver detalhes com DESCRIBE EXTENDED
Você pode view detalhes sobre uma view materializada programaticamente usando o comando DESCRIBE EXTENDED . Isso inclui detalhes além do que você obtém no Catalog Explorer. Eles incluem:
- 
O status da última refresh concluída. 
- 
O programa refresh . 
- 
As colunas da view materializada. 
- 
O tipo de refresh da view materializada (não disponível no Catalog Explorer). 
- 
O tamanho dos dados para a view materializada, em bytes totais (não disponível no Catalog Explorer). 
- 
O local de armazenamento da view materializada (não disponível no Catalog Explorer). 
- 
Algumas informações só são incluídas no resultado quando habilitadas: - colunas de agrupamento, se habilitado.
- Se os vetores de exclusão estão habilitados (mostrado somente quando true).
- Se o acompanhamento de linha está habilitado (mostrado somente quando true).
 
-- As table:
DESCRIBE TABLE EXTENDED sales;
-- As a single JSON object:
DESCRIBE TABLE EXTENDED sales AS JSON;
Consultando o log de eventos programaticamente
Para obter detalhes sobre o histórico refresh de uma view materializada, ou os detalhes conforme uma refresh acontece, você pode consultar o log de eventos programaticamente.
Como proprietário pipeline , você pode criar uma view para permitir que outras pessoas consultem o log de eventos do seu pipeline. A consulta a seguir cria uma view que outros podem usar para consultar o log de eventos. Esta consulta usa a função de valor TABLE para consultar a tabela de log de eventos correta.
CREATE VIEW my_event_log_view AS
  SELECT *
  FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>));
Para consultar a view log eventos, use uma consulta como a seguinte.
SELECT *
  FROM my_event_log_view
  WHERE event_type = "update_progress"
  ORDER BY timestamp desc;
Para consultar o log de eventos diretamente como proprietário pipeline , você não precisa criar uma view. Você pode usar a função de valor TABLE e consultar os dados diretamente, como na consulta de exemplo a seguir.
SELECT *
  FROM event_log(TABLE(<catalog_name>.<schema_name>.<mv_name>))
  WHERE event_type = "update_progress"
  ORDER BY timestamp desc;
Para obter uma lista completa de consultas de exemplo usando o log de eventos, consulte Exemplos de consultas básicas.
Monitore a execução view materializada
Você pode monitorar a execução pipeline em seu workspace usando a página Trabalhos e pipeline , a página Query History ou programaticamente consultando o log de eventos.
visualizar todas as execuções view materializada na IU
Se você usar a página Jobs e pipeline para monitorar o status de diferentes Jobs em seu workspace, também poderá rastrear todas as tabelas de visualização materializada e transmissão criadas lá. Cada view materializada criada no Databricks SQL tem um pipeline de suporte. Para ver todas as tabelas de visualização materializada e transmissão às quais você tem acesso:
- Clique no Botão Jobs e pipeline no lado esquerdo do seu workspace. 
- Clique no botão de alternância do pipeline para filtrar sua view apenas para o pipeline.
- Clique no botão tipo de pipeline e selecione MV/ST para filtrar apenas o pipeline criado pelo Databricks SQL.
- Clique no filtro Acessível por mim para mostrar todos os pipelines aos quais você tem acesso.
Você poderá ver todas as tabelas de visualização materializada e transmissão criadas em sua organização, incluindo uma view resumida dos status de execução recentes. Clicar no nome de um pipeline abre a página de detalhes de monitoramento pipeline para obter mais informações. Para saber mais sobre a página de detalhes de monitoramento pipeline , consulte Solucionar problemas refreshcom falha.
visualizar execução usando query história
Se você estiver mais familiarizado com a tab Query History , também poderá usá-la para view todas as execuções anteriores de todas as consultas nas quais você tem pelo menos CAN VIEW acesso ao SQL warehouse em execução. Você pode usar a página de histórico de consultas para acessar detalhes e perfis de consultas que podem ajudar a identificar consultas com baixo desempenho e gargalos no pipeline declarativo LakeFlow usado para executar suas atualizações de tabela de transmissão. Para uma visão geral do tipo de informação disponível para consulta história e perfis de consulta, consulte Consulta história e Consulta perfil.
Visualização
Este recurso está em Visualização Pública. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página Visualizações . Veja as prévias do gerenciar Databricks.
Todas as declarações relacionadas à visualização materializada aparecem no histórico da consulta. Você pode usar o filtro suspenso Instrução para selecionar qualquer comando e inspecionar as consultas relacionadas. Todas as instruções CREATE são seguidas por uma instrução REFRESH que é executada de forma assíncrona em um pipeline. As instruções REFRESH normalmente incluem planos de consulta detalhados que fornecem percepções para otimizar o desempenho.
Para acessar instruções REFRESH na interface de usuário do histórico de consulta, use os seguintes passos:
- Clique Query History na barra lateral esquerda. 
- Selecione a caixa de seleção REFRESH no filtro suspenso Declaração .
- Clique no nome da instrução de consulta para view detalhes resumidos, como a duração da consulta e métricas agregadas.
- Clique em Ver perfil de consulta para abrir o perfil de consulta. Para obter detalhes sobre como navegar no perfil de consulta, consulte Perfil de consulta.
- Opcionalmente, use os links na seção Fonte da consulta para abrir a consulta ou o pipeline relacionado.
Veja CREATE MATERIALIZED VIEW.
Solucionar problemas refreshcom falha
Você pode encontrar atualizações com falha para visualizações materializadas (ou tabelas de transmissão) consultando a lista de trabalhos e pipelines . Para solucionar problemas de uma atualização com falha, use a página de detalhes do monitoramento do pipeline ou o log de eventos.
Para solucionar problemas de uma refresh completa quando você acredita que deveria ser incremental, primeiro verifique se o acompanhamento de linhas está habilitado para quaisquer tabelas Delta de origem. Para outros detalhes sobre refresh incremental, consulte Suporte para refreshincremental view materializada.
Você pode obter detalhes adicionais na página de monitoramento do pipeline ou consultando o log de eventos programaticamente.
Usando a página de monitoramento de pipeline
Para obter mais detalhes sobre uma view materializada (ou tabela de transmissão) que falhou, você pode usar a página de monitoramento pipeline para depurar problemas. Cada view materializada tem um pipeline de suporte. A página de monitoramento pipeline inclui informações como:
- O status da última execução e a história da execução.
- A duração da última execução.
- Se a view materializada foi atualizada total ou incrementalmente. Para obter mais detalhes sobre como fazer com que sua view materializada seja refresh incrementalmente, consulte Suporte para refreshincremental view materializada.
- O log de eventos para depuração mais detalhada. Caso sua view materializada não tenha sido atualizada ou tenha apresentado outros problemas, clique no painel de problemas para view o log com mais detalhes.
Para solucionar problemas da sua view materializada:
- No seu workspace, clique em Botão Jobs e pipeline na barra de navegação à esquerda. 
- Clique no nome do seu pipeline na lista.
- Se a atualização falhar na execução, a interface do usuário mostrará um erro (ou uma lista de erros) no painel inferior.
- Clique no botão para visualizar os logs ou clique no painel de problemas para view os erros com mais detalhes.
- Isso abre a interface do usuário do log de eventos. Cada erro tem uma mensagem de alto nível e um resumo, bem como uma tab JSON com mais detalhes. Para corrigir um problema com o Databricks Assistant, clique em Diagnosticar erro .
Para mais detalhes sobre a página de monitoramento do pipeline, veja aqui.
Consultar o histórico refresh para uma viewmaterializada
O log de eventos pode ser útil para configurar painéis para monitorar o status ou a duração da atualização no workspace ou se você preferir o monitoramento programático em vez de usar a interface do usuário. A visualização materializada criada com Databricks SQL não oferece suporte para salvar o log de eventos em um metastore, portanto, somente o proprietário da view materializada pode consultar o log de eventos diretamente.
Para view o status de REFRESH operações em uma view materializada, incluindo atualizações atuais e anteriores, consulte o log de eventos do pipeline declarativo LakeFlow :
SELECT *
FROM event_log(TABLE(<fully-qualified-table-name>))
WHERE event_type = "update_progress"
ORDER BY timestamp desc;
Substitua <fully-qualified-table-name> pelo nome totalmente qualificado da view materializada, incluindo o catálogo e o esquema. Se você não for o proprietário pipeline , talvez seja necessário primeiro criar uma view para consultar o log de eventos. Consulte Consultando o log de eventos programaticamente.
Consultar o tipo de refresh que ocorreu para uma viewmaterializada
Algumas consultas podem ser atualizadas incrementalmente. Se uma refresh incremental não puder ser executada, uma refresh completa será executada.
Para ver o tipo refresh de uma view materializada, consulte o log de eventos:
SELECT timestamp, message
FROM event_log(TABLE(my_catalog.my_schema.sales))
WHERE event_type = 'planning_information'
ORDER BY timestamp desc;
Exemplo de saída para este comando:
- 
- carimbo de data/hora
- Mensagem
 
- 
- 2025-03-21T22:23:16.497+00:00
- Flow 'sales' has been planned in :re[LDP] to be executed as ROW_BASED.
 
Atribuir custos ao SQL warehouse com tagspersonalizadas
As tags não são anexadas automaticamente aos registros de cobrança, mas você pode join las manualmente às suas informações de cobrança em uma consulta.
Depois de adicionar tags a cada view materializada (ou tabela de transmissão) com o Catalog Explorer, você pode monitorar os custos da visualização materializada unindo as tabelas do sistema table_tags e billing . Esta é uma consulta de exemplo para recuperar registros de cobrança para todas as tabelas de exibição materializada e transmissão criadas com Databricks SQL e anexar tags no nível da tabela:
SELECT
  u.*,
  tag_info.tags
FROM
  system.billing.usage u
LEFT JOIN (
  SELECT
    t.catalog_name,
    t.schema_name,
    t.table_name,
    collect_list(named_struct('tag_name', t.tag_name, 'tag_value', t.tag_value)) AS tags
  FROM
    main.information_schema.table_tags t
  GROUP BY
    t.catalog_name,
    t.schema_name,
    t.table_name
) tag_info
  ON tag_info.catalog_name = u.usage_metadata.uc_table_catalog
  AND tag_info.schema_name = u.usage_metadata.uc_table_schema
  AND tag_info.table_name = u.usage_metadata.uc_table_name
  WHERE usage_metadata.uc_table_name is not null;
Você pode usar essa mesma ideia para join tags de coluna da tabela column_tags .