Introdução ao monitoramento de lakehouse do Databricks

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

O Databricks Lakehouse Monitoring permite monitorar as propriedades estatísticas e a qualidade dos dados em todas as tabelas em sua account. Você também pode usá-lo para acompanhar o desempenho de modelos de machine learning e endpoints de serviço de modelo monitorando tabelas de inferência que contêm inputs e previsões de modelo. O diagrama mostra o fluxo de dados através de dados e ML pipelines 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 Databricks Lakehouse Monitoring

Por que usar o Databricks Lakehouse Monitoring?

Para ter percepções práticas sobre seus dados, você precisa ter confiança na qualidade deles. O monitoramento dos dados proporciona medidas quantitativas que ajudam você a monitorar e confirmar a qualidade e a coerência dos dados ao longo do tempo. Quando detectar alterações na distribuição dos dados da tabela ou no desempenho do modelo correspondente, as tabelas criadas pelo monitoramento de lakehouse do Databricks podem capturá-las e alertar você sobre as alterações, além de ajudar a identificar a causa.

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

  • Como é a integridade dos dados e como ela muda com o tempo? Por exemplo, qual é a fração de valores nulos ou zero nos dados atuais, e, ela aumentou?

  • Como é a distribuição estatística dos dados e como ela muda com o 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 de ontem?

  • Há desvio 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 desvio 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 do desempenho do modelo com o tempo? A versão do modelo A apresenta um desempenho melhor do que a versão B?

Além disso, o monitoramento de lakehouse do Databricks permite controlar o detalhamento temporal das observações e configurar métricas personalizadas.

Requisitos

É necessário o seguinte para usar o monitoramento de lakehouse do Databricks:

  • Seu workspace precisa estar habilitado para Unity Catalog e você precisa ter acesso ao Databricks SQL.

  • Somente tabelas Delta são compatíveis com o monitoramento, e a tabela deve ser um dos seguintes tipos de tabela: tabelas gerenciadas, tabelas externas, views, views materializadas ou tabelas de transmissão.

  • Os monitores criados sobre views materializadas e tabelas de transmissão não são compatíveis com o processamento incremental.

  • Nem todas as regiões são compatíveis. Para obter suporte regional, consulte a coluna Computação serverless para notebooks e fluxos de trabalho na tabela Recursos com disponibilidade regional limitada.

Observação

O Databricks Lakehouse Monitoring usa compute serverless para jobs. Para obter informações sobre como acompanhar as despesas do Lakehouse Monitoring, consulte Exibir despesas do Lakehouse Monitoring.

Como o monitoramento de lakehouse funciona no Databricks

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

O monitoramento de lakehouse do Databricks oferece os seguintes tipos de análise: série temporal, snapshot e inferência.

Tipo de perfil

Descrição

Série temporal

Use para tabelas que contêm um dataset de séries temporais com base em uma coluna de carimbo de data/hora. O monitoramento calcula as métricas de qualidade de dados em janelas temporais da série temporal.

Inferência

Use para tabelas que contêm o log de solicitações para um modelo. Cada linha é uma solicitação, com colunas para o carimbo de data/hora, os inputs do modelo, a previsão correspondente e (opcionalmente) o rótulo da verdade fundamental. O monitoramento compara o desempenho do modelo e as métricas de qualidade de dados em janelas temporais baseadas no log de solicitações.

Snapshot

Use para todos os outros tipos de tabelas. O monitoramento calcula métricas de qualidade de dados com todos os dados na tabela. A tabela completa é processada com cada refresh.

Esta seção descreve brevemente as tabelas de entrada utilizadas pelo monitoramento de lakehouse do Databricks e as tabelas de métricas que ele produz. O diagrama mostra a relação entre as tabelas de entrada, as tabelas de métricas, o monitor e o painel.

Diagrama de monitoramento de lakehouse do Databricks

Tabela primária e tabela de referência

Além da tabela a ser monitorada, chamada de "tabela primária", você pode optar por especificar uma tabela de referência para medir o desvio ou a alteração nos valores ao longo do tempo. A tabela de referência é útil quando você tem uma amostra de como espera que sejam os seus dados. A ideia é que o desvio seja então calculado em relação aos valores e distribuições de dados esperados.

A tabela de referência deve conter um dataset que reflita a qualidade esperada dos dados de entrada, no que diz respeito às distribuições estatísticas, distribuições de colunas individuais, valores ausentes e outras características. Deve corresponder ao esquema da tabela monitorada. A exceção é a coluna de carimbo de data/hora para tabelas utilizadas com séries temporais ou perfis de inferência. Se houver colunas faltando na tabela primária ou na tabela de referência, o monitoramento utilizará estratégias baseadas em tentativa e erro para computar as métricas de saída.

Para monitores que utilizam um perfil de snapshot, a tabela de referência deve conter um snapshot dos dados em que a distribuição representa um padrão de qualidade aceitável. Por exemplo, em dados de distribuição de notas, pode-se definir a referência para uma classe anterior em que as notas foram distribuídas de maneira uniforme.

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

Para monitores que utilizam um perfil de inferência, uma boa opção para referência são os dados utilizados para ensinar ou validar o modelo que está sendo monitorado. Dessa forma, os usuários podem ser alertados quando houver desvio dos dados em relação ao modelo que foi treinado e validado. Essa tabela deve conter as mesmas colunas de recursos 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 coerente. De preferência, deve-se usar o conjunto de teste ou validação utilizado para avaliar o modelo para garantir métricas de qualidade comparável do modelo.

Tabelas de métricas e painel

Um monitor de tabela cria duas tabelas de métricas e um painel. Os valores de métrica são computados para toda a tabela e para as janelas temporais e subconjuntos de dados (ou "fatias") que especificadas na criação do monitor. Além disso, para análise de inferência, as métricas são computadas para cada ID do modelo. Para mais detalhes sobre as tabelas de métricas, consulte Monitorar tabelas de métricas.

  • A tabela de métricas de perfis contém estatísticas resumidas. Consulte o esquema da tabela de métricas de perfis.

  • A tabela de métricas de desvio contém estatísticas relacionadas ao desvio de dados ao longo do tempo. Se uma tabela de linha de base for fornecida, o desvio também será monitorado em relação aos valores da linha de base. Consulte o esquema da tabela de métricas de desvio.

As tabelas de métricas são tabelas Delta e são armazenadas em um esquema do Unity Catalog que você especifica. Você pode ver essas tabelas utilizando a interface de usuário do Databricks, consultá-las utilizando o Databricks SQL e criar painéis e alertas com base nelas.

Para cada monitor, o Databricks cria automaticamente um dashboard para ajudar você a visualizar e apresentar os resultados do monitor. O dashboard é totalmente personalizável como qualquer outro dashboard legado.