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

Importante

Este recurso está em versão Beta. Para o utilizar, um administrador de espaço de trabalho deve ativar a Materialização do Painel de IA/BI a partir da página de Pré-visualizações . Ver Gerir as pré-visualizações de Azure Databricks.

Os dashboards de IA/BI são construídos com base em conjuntos de dados com âmbito de dashboard. Por predefinição, todos os conjuntos de dados são avaliados em tempo real, pelo que, sempre que um painel é carregado ou um utilizador interage com ele, as consultas, junções e análises da origem subjacentes são executadas novamente no seu armazém SQL. Para dashboards baseados em consultas de fonte caras ou muitas junções, reexecutar essas consultas em cada interação é lento e dispendioso.

A materialização de conjuntos de dados pré-calcula e armazena os resultados subjacentes a um conjunto de dados, pelo que o processamento intensivo ocorre uma única vez, de forma agendada, em vez de ocorrer sempre que o painel é carregado ou sempre que há uma interação. As interações são então renderizadas a partir dos resultados armazenados, o que torna os dashboards publicados mais rápidos.

A materialização utiliza a tecnologia de materialização de vista métrica do Unity Catalog. Ver Materialização para vistas métricas.

O que se materializa

A materialização pré-calcula e armazena os dados do 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é-computado e armazenado.
  • Para visualizações métricas locais, o modelo de dados ao nível das linhas (dados de origem, joins e campos de filtro) é armazenado, enquanto as medidas continuam a ser calculadas em tempo de consulta contra a base pré-computada.

Benefits

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

  • Dashboards mais rápidos sem necessidade de remodelação. As junções dispendiosas e as leituras da origem são executadas uma única vez de forma agendada, em vez de serem executadas em cada carregamento, o que elimina o tempo de espera que os utilizadores têm quando um painel volta a consultar tabelas de grandes dimensões.
  • Custo de armazém mais baixo ao ler. O pré-cálculo do modelo base de dados evita repetir a mesma consulta pesada para cada visualizador e cada carregamento de página, o que reduz o uso redundante do armazém.
  • Sem custos operacionais. O Azure Databricks cria, armazena e atualiza os dados materializados para si. Não há qualquer pipeline, esquema ou armazenamento a gerir.

Costs

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

Compare estes custos com as poupanças obtidas ao evitar varrimentos na origem e junções repetidos. Escolha um calendário 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. A vantagem vem de substituir a recomputação repetida e completa de um conjunto de dados (varrimento e junção) por leituras contra uma tabela pré-computada. Materializar um conjunto de dados quando uma ou mais das seguintes condições se aplicarem:

  • Painéis altamente interativos. O painel tem muitos filtros, filtragem cruzada ou desagregações. Sem materialização, cada interação volta a executar a consulta do conjunto de dados, pelo que pré-calcular esses conjuntos de dados traz benefícios repetidos ao longo de uma sessão.
  • Conjuntos de dados caros. O conjunto de dados baseia-se em junções entre várias tabelas, vistas 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 milhares de milhões de linhas. A materialização armazena apenas o pequeno subconjunto.
  • Tolerância à atualização programada. Os dados só precisam de ser tão frescos quanto o calendário de atualização do dashboard, como por hora ou diariamente, em vez de em tempo real.

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

Requisitos

  • Acesso a um painel de controlo de IA/BI.
  • O dashboard é publicado com a opção de permissões de partilha de dados . A materialização não é suportada para dashboards publicados com permissões individuais de dados. Consulte O que são permissões de dados compartilhados?.
  • Computação sem servidor ativada no espaço de trabalho. A criação inicial e as atualizações são executadas em pipelines serverless do Lakeflow. Veja Configurar armazéns SQL serverless.
  • permissão CAN USE num armazém SQL com 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 predefinição, mas a materialização está desativada para o painel até ativar a opção Materializar conjuntos de dados ao publicar.

Escolha quais os conjuntos de dados a materializar

No separador Dados , clique no ícone de materialização ao lado de um conjunto de dados para o incluir ou excluir.

O separador de Dados mostra um ícone verde de materialização num conjunto de dados e um ícone desselecionado noutro.

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

Publicar com materialização

  1. Clique em Publicar no painel de rascunhos.
  2. Selecione permissões de partilhar dados no diálogo de publicação.
  3. Ativar a opção Materializar conjuntos de dados para materializar os conjuntos de dados selecionados no separador Dados.
  4. Clique em Publicar.

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

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

Defina um calendário de atualização

Os dados materializados são atualizados de acordo com a agenda de atualização do dashboard. Usa o calendário do dashboard para ajustar a frequência de atualização.

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

O painel de Agendas do dashboard mostra um emblema de Conjuntos de Dados materializado para o calendário de atualização.

Ver estado de materialização

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

O menu de kebab do painel publicado com a opção Info para ver o estado da materialização.

A barra lateral de Informação lista o estado de cada conjunto de dados materializado e a informação de atualização.

Reutilização e limpeza

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

  • Reutilizar entre revisões. Se um dashboard for republicado pelo mesmo utilizador e um conjunto de dados permanecer inalterado, a materialização existente será reutilizada, evitando computação desperdiçada.
  • Limpeza automática. O Azure Databricks elimina as materializações às quais um dashboard publicado já não faz referência, por exemplo, após uma alteração na definição ou uma anulação da publicação.

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

Limitations

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

  • Apenas painéis publicados. A materialização aplica-se a dashboards publicados. Os rascunhos continuam a consultar dados em tempo real.
  • Sem conjuntos de dados parametrizados. Conjuntos de dados que definem parâmetros não podem ser materializados. Se incluir um conjunto de dados parametrizado na materialização, o Azure Databricks assinala-o como tendo falhado em vez de o materializar.
  • A atualização segue apenas o calendário do dashboard. Não existe um calendário de atualização separado por conjunto de dados. A materialização atualiza-se de acordo com a frequência de atualização agendada do seu painel.
  • É necessário usar serverless. A criação inicial e as atualizações são executadas em pipelines serverless do Lakeflow, pelo que o espaço de trabalho deve ter a computação sem servidor ativada.
  • Os 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 ao nível das linhas, mascaramento de colunas ou políticas de controlo de acesso baseadas em atributos (ABAC). Se a segurança ao nível das linhas for adicionada a uma tabela de origem depois de a materialização ser criada, as consultas subsequentes à vista de métricas ignoram a materialização e são executadas sobre os dados de origem.
  • São necessárias permissões de partilha de dados. Só pode ativar a materialização quando publica com permissões de dados partilhados. Não o pode ativar ao publicar com permissões de dados individuais.

Perguntas frequentes

As perguntas seguintes abrangem o comportamento de materialização de conjuntos de dados, atualizações e permissões.

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

A materialização preserva a lógica de consulta do conjunto de dados, mas os seus dados refletem a atualização bem-sucedida mais recente. Para visualizações métricas locais, as medidas são calculadas em tempo de consulta com base nos dados materializados. Vê 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 devolve um erro em vez de consultar dados em tempo real. Espera que a materialização termine e depois volta a executar a consulta.

Onde são armazenados os dados materializados?

O Azure Databricks armazena os dados materializados em armazenamento interno gerido, associado ao seu painel publicado. Não há nada para publicares no Unity Catalog, nem esquema ou armazenamento para gerir. O acesso continua a depender do seu painel de controlo e das permissões dos dados subjacentes.

Com que frequência os dados materializados atualizam?

Os dados materializados são atualizados de acordo com a agenda de atualização do dashboard. Veja Definir um calendário de atualização.

Que recursos de computação utiliza a materialização?

A criação inicial e as atualizações dos dados são ambas executadas em pipelines serverless do Lakeflow geridos pelo Azure Databricks. É por isso que a computação serverless deve estar ativada no espaço de trabalho.

A materialização afeta as permissões?

Não. A materialização não concede acesso adicional aos dados. O acesso continua a seguir a configuração de partilha do painel e as permissões usadas para a publicar.

O que acontece quando eu republico?

Materializações existentes podem ser reutilizadas quando o mesmo utilizador republica um conjunto de dados inalterado. Ver Reutilização e limpeza. Ative a opção Materialize datasets em cada publicação.

Recursos adicionais