Materialização de conjuntos de dados em dashboards de IA/BI

Importante

Esse recurso está em Beta. Para usá-lo, um administrador de espaço de trabalho deve ativar a Materialização do Painel de IA/BI a partir da página de Prévias . Consulte Gerenciar visualizações do Azure Databricks.

Os dashboards de IA/BI são criados com base em conjuntos de dados no escopo do dashboard. Por padrão, todo conjunto de dados é avaliado em tempo real, então cada vez que um painel carrega ou um visualizador interage com ele, as consultas, joins e scans de origem subjacentes rodam novamente no seu SQL Warehouse. Para painéis baseados em consultas à fonte de dados custosas ou em muitas junções, executar essas consultas novamente a cada interação é lento e caro.

A materialização de conjuntos de dados pré-calcula e armazena os resultados associados a um conjunto de dados, de modo que o trabalho pesado acontece uma única vez em intervalos programados, em vez de acontecer a cada carregamento ou interação no painel. As interações então são renderizadas a partir dos resultados armazenados, o que torna os dashboards publicados mais rápidos.

A materialização usa a tecnologia de materialização de visualização métrica do Catálogo do Unity. Consulte Materialização para visualizações de métricas.

O que se materializa

A materialização pré-calcula e armazena os dados de um conjunto de dados. O que é armazenado difere entre os dois tipos de conjunto de dados:

  • Para conjuntos de dados SQL, o resultado completo da consulta é pré-calculado e armazenado.
  • Para visualizações métricas locais, o modelo de dados em nível de linha (dados de origem, joins e campos de filtro) é armazenado, enquanto as medidas ainda são calculadas no momento da consulta contra a base pré-computada.

Benefits

A materialização de conjuntos de dados oferece os seguintes benefícios:

  • Painéis mais rápidos sem remodelação. Junções custosas e varreduras da origem são executadas uma única vez conforme uma programação, em vez de a cada carregamento, o que elimina a espera que os usuários enfrentam quando um painel consulta novamente tabelas grandes.
  • Menor custo de armazém na leitura. Pré-computar o modelo de dados base evita repetir a mesma consulta pesada para cada visualizador e cada carregamento de página, o que reduz o uso redundante do warehouse.
  • Sem custos operacionais. O Azure Databricks cria, armazena e atualiza os dados materializados para você. Não há pipeline, esquema ou armazenamento para gerenciar.

Costs

A materialização de conjuntos de dados envolve custos de armazenamento e computação:

Compare esses custos com a economia de evitar escaneamentos e joins repetidos da fonte. Escolha um cronograma de atualização que equilibre a frescura dos dados com os custos de computação.

Quando usar a materialização

A materialização nem sempre é a alavanca certa para o desempenho. O benefício vem de substituir o recálculo repetido e completo de um conjunto de dados (varredura e junção) por leituras de uma tabela pré-computada. Materialize um conjunto de dados quando uma ou mais das seguintes condições se aplicarem:

  • Dashboards altamente interativos. O painel possui muitos filtros, filtragem cruzada e recursos de detalhamento. Sem materialização, toda interação reexecuta a consulta do conjunto de dados, de modo que pré-computar esses conjuntos de dados traz ganhos repetidamente ao longo de uma sessão.
  • Conjuntos de dados caros. O conjunto de dados é baseado em junções entre várias tabelas, views complexas ou expressões de tabela comuns (CTEs), funções de janela ou uniões entre muitas tabelas.
  • Filtros seletivos em tabelas grandes. O conjunto de dados seleciona um pequeno subconjunto, como uma região ou os últimos 7 dias entre bilhões de linhas. A materialização armazena apenas o pequeno subconjunto.
  • Tolerância para frescor programado. Os dados só precisam estar tão atualizados quanto a frequência de atualização do painel, como por hora ou diária, em vez de em tempo real.

Para conjuntos de dados pequenos ou dashboards que raramente são carregados, a consulta em tempo real geralmente é rápida o suficiente, e a materialização pode não valer o custo. Como a materialização é opcional em cada publicação e em cada conjunto de dados, você pode aplicá-la apenas onde compensar.

Requisitos

  • Acesso a um painel de IA/BI.
  • O painel é publicado com a opção de permissões de compartilhar dados . A materialização não é compatível com painéis publicados com permissões de dados individuais. Veja o que são permissões de dados compartilhadas?.
  • Computação sem servidor habilitada no espaço de trabalho. A criação inicial e as atualizações são executadas em pipelines serverless do Lakeflow. Consulte Configurar os sql warehouses sem servidor.
  • Permissão "CAN USE" para um SQL warehouse executando o Databricks Runtime 17.3 ou superior.

Permitir a materialização de conjuntos de dados

Os conjuntos de dados são selecionados para materialização por padrão, mas a materialização fica desativada no painel até você ativar a opção Materializar conjuntos de dados ao publicar.

Escolha quais conjuntos de dados materializar

Na aba Data , clique no ícone de materialização ao lado de um conjunto de dados para incluí-lo ou excluí-lo.

A aba de Dados mostra um ícone verde de materialização em um conjunto de dados e um ícone desselecionado em outro.

Quando você exclui um conjunto de dados da materialização, consultas contra esse conjunto de dados retornam resultados em tempo real, enquanto consultas contra conjuntos de dados materializados refletem a última execução de materialização. Quando todos os conjuntos de dados usam o mesmo cronograma de materialização, os widgets mantêm um frescor consistente dos dados.

Escolha quais conjuntos de dados materializar

  1. Clique em Publicar no painel de rascunhos.
  2. Selecione permissões de Compartilhar dados na janela de publicação.
  3. Ative a opção Materialize conjuntos de dados para materializar os conjuntos de dados selecionados na aba Dados .
  4. Clique em Publicar.

O diálogo de publicação com permissões de dados compartilhados selecionadas e a opção Materialize datasets.

Ative a opção Materialize datasets em cada publicação.

Defina um cronograma de atualização

Os dados materializados são atualizados de acordo com a programação de atualização do painel. Use o cronograma do painel para ajustar a frequência de atualização.

Se o painel não tiver cronograma, publicar com materialização ativada adiciona um cronograma diário de atualização. Os cronogramas existentes são preservados. Sem um cronograma ativo, os dados materializados não atualizam automaticamente após a criação.

O painel Agendamentos do painel mostrando um emblema materializado de conjuntos de dados para o agendamento de atualização.

Exibir status de materialização

No painel publicado, abra o ícone do menu Kebab. e selecione Informações. A barra lateral mostra o status de cada conjunto de dados materializado e as informações de atualização.

O menu kebab do painel publicado com a opção Informação para visualizar o status de materialização.

A barra lateral de Informações lista o status de cada conjunto de dados materializado e informações atualizadas.

Reutilização e limpeza

Azure Databricks gerencia o ciclo de vida dos seus dados materializados:

  • Reutilize em diferentes revisões. Se um painel for republicado pelo mesmo usuário e um conjunto de dados permanecer inalterado, a materialização existente será reutilizada, evitando computação desperdiçada.
  • Limpeza automática. O Azure Databricks remove materializações às quais um painel publicado não faz mais referência, como após uma alteração na definição ou uma despublicação.

A republicação não necessariamente atualiza os dados materializados.

Limitações

A materialização de conjuntos de dados apresenta as seguintes limitações:

  • Apenas dashboards publicados. Materialização se aplica a dashboards publicados. Os rascunhos continuam consultando dados em tempo real.
  • Sem conjuntos de dados parametrizados. Conjuntos de dados que definem parâmetros não podem ser materializados. Se você configurar um conjunto de dados parametrizado para materialização, o Azure Databricks o relata como com falha, em vez de materializá-lo.
  • A atualização segue apenas o cronograma do painel. Não há um cronograma separado de atualização por conjunto de dados. As materializações são atualizadas de acordo com a cadência de atualização agendada do seu painel.
  • Serverless é obrigatório. A criação inicial e as atualizações são executadas em pipelines serverless do Lakeflow, portanto o workspace deve ter a computação serverless habilitada.
  • Dados protegidos não são disponibilizados a partir de materializações. A materialização não pode ser criada para dados de origem protegidos por segurança em nível de linha, máscaras de coluna ou políticas de controle de acesso baseado em atributos (ABAC). Se a segurança em nível de linha for adicionada a uma tabela de origem depois que a materialização for criada, as consultas subsequentes à visão de métricas ignorarão a materialização e serão executadas nos dados de origem.
  • Permissões de compartilhamento de dados são necessárias. Você só pode ativar a materialização quando publicar com permissões de dados compartilhados. Você não pode ativá-lo quando você publica com permissões individuais de dados.

Perguntas frequentes

As perguntas a seguir abordam comportamento de materialização de conjuntos de dados, atualizações e permissões.

A materialização muda minhas métricas ou resultados?

A materialização preserva a lógica de consulta do conjunto de dados, mas seus dados refletem a última atualização bem-sucedida. Para visualizações métricas locais, as medidas são calculadas no momento da consulta com base nos dados materializados. Veja o que se materializa.

O que acontece se uma materialização não estiver pronta ou não estiver disponível?

Se uma materialização não estiver pronta ou não estiver disponível no momento da consulta, a consulta retorna um erro em vez de consultar dados em tempo real. Espere a materialização terminar, então execute a consulta novamente.

Onde os dados materializados são armazenados?

O Azure Databricks armazena os dados materializados em armazenamento interno gerenciado, vinculado ao seu painel publicado. Não há nada para você publicar no Unity Catalog, nem esquema ou armazenamento para gerenciar. O acesso continua a seguir as permissões do seu painel e dos dados subjacentes.

Com que frequência os dados materializados atualizam?

Os dados materializados são atualizados de acordo com a programação de atualização do painel. Veja Definir um cronograma de atualização.

Que capacidade computacional a materialização usa?

A criação inicial e as atualizações são executadas em pipelines serverless do Lakeflow gerenciados pelo Azure Databricks. Por isso, a computação serverless deve ser habilitada no espaço de trabalho.

A materialização afeta as permissões?

No. A materialização não concede acesso adicional aos dados. O Access ainda segue a configuração de compartilhamento do painel e as permissões usadas para publicá-lo.

O que acontece quando eu republico?

Materializações existentes podem ser reutilizadas quando o mesmo usuário republica um conjunto de dados inalterado. Veja Reutilizar e limpar. Ative a opção Materialize datasets em cada publicação.

Recursos adicionais