Introdução ao Monitoramento do Databricks Lakehouse

Este artigo descreve o Monitoramento do Databricks Lakehouse. Ele aborda os benefícios de monitorar seus dados e fornece uma visão geral dos componentes e do uso do Monitoramento do Databricks Lakehouse.

O Monitoramento do Databricks Lakehouse permite monitorar as propriedades estatísticas e a qualidade dos dados em todas as tabelas em sua conta. Você também pode usá-lo para acompanhar o desempenho de modelos de machine learning e pontos de extremidade que servem modelos monitorando tabelas de inferência que contêm entradas e previsões de modelo. O diagrama mostra o fluxo de dados por meio de dados e pipelines de ML no Databricks e como você pode usar o monitoramento para acompanhar continuamente a qualidade dos dados e o desempenho do modelo.

Visão geral do Monitoramento do Databricks Lakehouse

Por que usar o Monitoramento do Databricks Lakehouse?

Para extrair insights úteis de seus dados, é preciso confiar na qualidade deles. O monitoramento de seus dados fornece medidas quantitativas que ajudam a acompanhar e confirmar a qualidade e a consistência deles ao longo do tempo. Ao detectar alterações na distribuição de dados da tabela ou no desempenho do modelo correspondente, as tabelas criadas pelo Monitoramento do Databricks Lakehouse podem capturar e alertar sobre a alteração e ajudar você a identificar a causa.

O Monitoramento do Databricks Lakehouse ajuda você a responder perguntas como as seguintes:

  • Como é a integridade dos dados e como ela muda ao longo do tempo? Por exemplo, qual é a fração de valores nulos ou zero nos dados atuais? Essa fração tem aumentado?
  • Como é a distribuição estatística dos dados e como eles mudam ao longo do tempo? Por exemplo, qual é o 90º percentil de uma coluna numérica? Ou, qual é a distribuição de valores em uma coluna categórica e como ela difere das anteriores?
  • Há descompasso entre os dados atuais e uma linha de base conhecida ou entre janelas de tempo sucessivas dos dados?
  • Como é a distribuição estatística ou descompasso de um subconjunto ou fatia dos dados?
  • Como as entradas e previsões do modelo de ML estão mudando ao longo do tempo?
  • Qual é a tendência de desempenho do modelo ao longo do tempo? A versão A do modelo tem um desempenho melhor do que a versão B?

Além disso, o Monitoramento do Databricks Lakehouse permite controlar a granularidade de tempo das observações e configurar métricas personalizadas.

Requisitos

Para usar o Monitoramento do Databricks Lakehouse, é necessário:

  • O workspace deve estar habilitado para o Catálogo do Unity e ter acesso ao SQL do Databricks.
  • Há suporte apenas para tabelas Delta para monitoramento e a tabela deve ser um dos seguintes tipos: tabelas gerenciadas, tabelas externas, exibições, exibições materializadas ou tabelas de streaming.
  • Os monitores criados em visualizações materializadas e tabelas de streaming não suportam processamento incremental.
  • Nem todas as regiões têm suporte. Para suporte regional, veja a coluna Computação sem servidor para notebooks e fluxos de trabalho na tabela Recursos com disponibilidade regional limitada.

Observação

O Monitoramento do Databricks Lakehouse usa computação sem servidor para tarefas. Para obter informações sobre como acompanhar as despesas do Monitoramento do Lakehouse, consulte Exibir as despesas do Monitoramento do Lakehouse.

Como o Monitoramento do Lakehouse funciona no Databricks

Para monitorar uma tabela no Databricks, crie um monitor anexado à tabela. Para monitorar o desempenho de um modelo de machine learning, anexe o monitor a uma tabela de inferência que contém as entradas do modelo e as previsões correspondentes.

O Monitoramento do Databricks Lakehouse fornece os seguintes tipos de análise: série temporal, instantâneo e inferência.

Tipo de perfil Descrição
Série temporal Utilize para tabelas que contenham um conjunto de dados de série temporal com base em uma coluna de carimbo de data/hora. O monitoramento computa métricas de qualidade de dados em janelas baseadas em tempo da série temporal.
Inferência Use para tabelas que contenham o registro de solicitações de um modelo. Cada linha é uma solicitação, com colunas para o carimbo de data/hora, as entradas do modelo, a previsão correspondente e o rótulo (opcional) da verdade básica. O monitoramento compara o desempenho do modelo e as métricas de qualidade dos dados em janelas baseadas no tempo do log de solicitações.
Instantâneo Use para todos os outros tipos de tabelas. O monitoramento calcula as métricas de qualidade dos dados em todos os dados da tabela. A tabela completa é processada a cada atualização.

Esta seção descreve brevemente as tabelas de entrada usadas pelo Monitoramento do Databricks Lakehouse e as tabelas de métricas que ela produz. O diagrama mostra a relação entre as tabelas de entrada, as tabelas de métricas, o monitor e o dashboard.

Monitoramento do Databricks Lakehouse

Tabela primária e tabela de linha de base

Além da tabela a ser monitorada, chamada de "tabela primária", opcionalmente, especifique uma tabela de linha de base a ser usada como referência para medir o descompasso ou a alteração de valores ao longo do tempo. Uma tabela de linha de base é útil ao ter uma amostra da aparência esperada de seus dados. A ideia é que o descompasso seja calculado em relação aos valores de dados e distribuições esperados.

A tabela de linha de base deve conter um conjunto de dados que reflita a qualidade esperada dos dados de entrada, em termos de distribuições estatísticas e colunas individuais, valores ausentes e outras características. Ele deve corresponder ao esquema da tabela monitorada. A exceção é a coluna de carimbo de data/hora para tabelas usadas com perfis de série temporal ou inferência. Caso as colunas estejam ausentes na tabela primária ou na tabela de linha de base, o monitoramento usará a heurística de melhor esforço para calcular as métricas de saída.

Para monitores que usam um perfil instantâneo, a tabela de linha de base deve conter uma instantâneo dos dados em que a distribuição representa um padrão de qualidade aceitável. Por exemplo, em dados de distribuição de nível, pode-se definir a linha de base como uma classe anterior em que as notas eram distribuídas uniformemente.

Para monitores que usam um perfil de série temporal, a tabela de linha de base deve conter dados que representam janelas de tempo em que as distribuições de dados representam um padrão de qualidade aceitável. Por exemplo, nos dados meteorológicos, defina a linha de base como uma semana, mês ou ano em que a temperatura estava próxima das temperaturas normais esperadas.

Para monitores que usam um perfil de inferência, uma boa opção para uma linha de base são os dados que foram usados para treinar ou validar o modelo que está sendo monitorado. Dessa forma, os usuários podem ser alertados quando os dados tiverem descompasso em relação ao que o modelo foi treinado e validado. Essa tabela deve conter as mesmas colunas de recurso que a tabela primária e, além disso, deve ter o mesmo model_id_col que foi especificado para o InferenceLog da tabela primária para que os dados sejam agregados de forma consistente. O ideal é que o conjunto de teste ou validação usado para avaliar o modelo seja usado para garantir métricas comparáveis de qualidade do modelo.

Tabelas de métricas e dashboard

Um monitor de tabela cria duas tabelas de métrica e um dashboard. Os valores de métrica são calculados para toda a tabela e para as janelas de tempo e subconjuntos de dados (ou "fatias") que você especifica ao criar o monitor. Além disso, para análise de inferência, as métricas são computadas para cada ID de modelo. Para obter mais detalhes sobre as tabelas de métricas, consulte Monitorar tabelas de métricas.

As tabelas de métrica são tabelas Delta e são armazenadas em um esquema do Catálogo do Unity que você especificar. É possível exibir essas tabelas usando a interface do usuário do Databricks, consultá-las usando o SQL do Databricks e criar dashboards e alertas com base nelas.

Para cada monitor, o Databricks cria automaticamente um dashboard para ajudá-lo a visualizar e apresentar os resultados do monitor. O painel é totalmente personalizável como qualquer outro painel herdado.

Começar a usar o Monitoramento do Lakehouse no Databricks

Consulte os seguintes artigos para começar: