Introdução ao monitoramento Databricks Lakehouse

Visualização

Este recurso está em visualização pública nas seguintes regiões: eu-central-1, eu-west-1, us-east-1, us-east-2, us-west-2, ap-southeast-2. Nem todos os workspace nas regiões listadas são suportados. Se você vir o erro “Seu workspace está hospedado em uma infraestrutura que não suporta serverless compute”. ao usar o Lakehouse Monitoring, experimente um workspace diferente ou entre em contato com sua equipe account .

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

O Databricks lakehouse monitoramento permite monitorar as propriedades estatísticas e a qualidade dos dados em todas as tabelas da sua account. Você também pode usá-lo para monitorar o desempenho do modelo de machine learning e instalar o modelo endpoint por meio de tabelas de inferência de monitoramento que contêm entradas e previsões do modelo. O diagrama mostra o fluxo de dados através de ML pipelines no Databricks e como você pode usar o monitoramento para rastrear continuamente a qualidade dos dados e o desempenho do modelo.

Visão geral Lakehouse Monitoring

Por que usar Lakehouse Monitoring?

Para extrair entendimento útil de seus dados, você deve ter confiança na qualidade de seus dados. O monitoramento de seus dados fornece medidas quantitativas que o ajudam a rastrear e confirmar a qualidade e a consistência de seus dados ao longo do tempo. Quando você detecta alterações na distribuição de dados da sua tabela ou no desempenho do modelo correspondente, as tabelas criadas pelo databricks lakehouse monitoramento podem capturar e alertá-lo sobre a alteração e podem ajudá-lo a identificar a causa.

O Databricks lakehouse monitoramento ajuda você a responder 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 aumentou?

  • Como é a distribuição estatística dos dados e como ela muda com o tempo? Por exemplo, qual é o percentil 90 de uma coluna numérica? Ou qual é a distribuição de valores em uma coluna categórica e como ela difere de ontem?

  • Existe desvio entre os dados atuais e uma linha de base conhecida ou entre sucessivas janelas de tempo 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 de desempenho do modelo ao longo do tempo? A versão do modelo A tem desempenho melhor do que a versão B?

Além disso, o monitoramento do databricks lakehouse permite controlar a granularidade do tempo das observações e configurar métricas personalizadas.

Requisitos

Os seguintes são necessários para usar o monitoramento do databricks lakehouse :

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

  • Somente as tabelas Delta, incluindo tabelas gerenciar, tabelas externas, visualização, visualização materializada e tabelas de transmissão, são compatíveis com o monitoramento. Os monitores criados sobre a exibição materializada e as tabelas de transmissão não são compatíveis com o processamento incremental.

Observação

O Databricks Lakehouse Monitoring usa .serverless Job compute Para informação sobre acompanhamento de despesas de Monitorização da Lakehouse, consulte view Despesas de Monitorização da Lakehouse.

Como funciona o monitoramento Lakehouse no Databricks

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

Databricks lakehouse monitoramento fornece 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 uma série temporal dataset com base em uma coluna de registro de data e hora. O monitoramento calcula métricas de qualidade de dados em janelas baseadas no tempo da série temporal.

Inferência

Use para tabelas que contêm os logs de solicitação de um modelo. Cada linha é uma solicitação, com colunas para o registro de data e hora, as entradas do modelo, a previsão correspondente e o rótulo de verdade (opcional). O monitoramento compara o desempenho do modelo e as métricas de qualidade dos dados em janelas baseadas no tempo dos registros de solicitações.

Snapshot

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

Esta seção descreve brevemente as tabelas de entrada usadas pelo monitoramento databricks lakehouse e as tabelas de métricas que ele produz. O diagrama mostra o relacionamento entre as tabelas de entrada, as tabelas de métricas, o monitor e o painel.

Diagrama de monitoramento databricks lakehouse

Tabela primária e tabela de linha de base

Além da tabela a ser monitorada, chamada de “tabela primária”, você pode opcionalmente especificar uma tabela de linha de base para usar como referência para medir o desvio ou a mudança de valores ao longo do tempo. Uma tabela de linha de base é útil quando você tem uma amostra de como espera que seus dados se pareçam. A ideia é que a deriva seja compute em relação aos valores e distribuições de dados esperados.

A tabela de linha de base deve conter um dataset que reflita a qualidade esperada dos dados de entrada, em termos de distribuições estatísticas, distribuições de colunas individuais, valores omissos e outras características. Deve corresponder ao esquema da tabela monitorada. A exceção é a coluna de carimbo de data/hora para tabelas usadas com séries temporais ou perfis de inferência. Se faltarem colunas na tabela principal ou na tabela de linha de base, o monitoramento usa a heurística de melhor esforço para compute as métricas de saída.

Para monitores que usam um perfil Snapshot , a tabela de linha de base 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 linha de base para uma turma anterior em que as notas foram distribuídas uniformemente.

Para monitores que usam um perfil de série temporal, a tabela de linha de base deve conter dados que representam janela(s) 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 linha de base para uma semana, mês ou ano em que a temperatura esteja próxima das temperaturas normais esperadas.

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

Tabelas de métricas e painel

Um monitor de tabela cria duas tabelas de métricas e um painel. Os valores de métricas são compute para a tabela inteira 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 compute para cada ID de modelo. Para obter mais detalhes sobre as tabelas de métricas, consulte Monitorar tabelas de métricas.

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

  • A tabela de métricas de desvio contém estatísticas relacionadas ao desvio dos dados ao longo do tempo. Se for fornecida uma tabela de linha de base, o desvio também será monitorado em relação aos valores de 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 Unity Catalog especificado por você. Você pode view essas tabelas usando a interface do usuário do Databricks, query las usando o Databricks SQL e criar painéis e alertas com base nelas.

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