Melhores práticas para a excelência operacional
Este artigo aborda as práticas recomendadas de excelência operacional, organizadas pelos princípios de arquitetura listados nas seções a seguir.
1. Otimize os processos de compilação e versão
Criar uma equipe dedicada de operações de lakehouse
Uma prática recomendada comum é ter uma equipe de operações de plataforma para permitir que as equipes de dados trabalhem em uma ou mais plataformas de dados. Essa equipe é responsável por criar internamente blueprints e práticas recomendadas. Ela fornece ferramentas, como para automação de infraestrutura e acesso de autoatendimento, e garante que os requisitos de segurança e conformidade sejam atendidos. Com isso, uma única equipe central fica responsável por proteger os dados da plataforma, permitindo que equipes distribuídas se concentrem no trabalho com dados e na geração de novos insights.
Use o SCM (gerenciamento de código-fonte) corporativo
O SCM (gerenciamento de código-fonte) ajuda os desenvolvedores a trabalhar com mais eficiência, o que pode acelerar os lançamentos e reduzir os custos de desenvolvimento. Uma ferramenta que ajuda a rastrear alterações, manter a integridade do código, detectar bugs e reverter para versões anteriores é um componente importante para a arquitetura geral da sua solução.
As pastas do Databricks no Git permitem que os usuários armazenem notebooks ou outros arquivos em um repositório Git, fornecendo recursos como clonagem de repositório, commit e push, pull, gerenciamento de branch e visualização de diferenças em arquivos. Use pastas Git para obter melhor visibilidade e acompanhamento de código.
Padronizar processos de DevOps (CI/CD)
A CI/CD (integração contínua e entrega contínua) refere-se ao desenvolvimento e à implantação de softwares em ciclos curtos e frequentes usando pipelines automatizados. Embora este não seja um processo novo, tendo sido onipresente na engenharia de software tradicional durante décadas, ele está se tornando cada vez mais necessário para equipes de engenharia e ciência de dados. Para que os produtos de dados sejam valiosos, eles devem ser entregues em tempo hábil. Além disso, os consumidores confiam na validade dos resultados destes produtos. Ao automatizar o processo de criação, teste e implantação de código, as equipes de desenvolvimento podem entregar lançamentos com mais frequência e confiabilidade do que ao usar os processos manuais que ainda são predominantes em muitas equipes de engenharia e ciência de dados. Consulte O que é CI/CD no Azure Databricks?.
Para saber mais sobre as práticas recomendadas de desenvolvimento de código usando pastas do Databricks no Git, confira Técnicas de CI/CD com o Git e as pastas do Databricks no Git (Repos). Com a API REST do Databricks, é possível criar processos de implantação automatizados usando ações do GitHub, pipelines do Azure DevOps ou trabalhos do Jenkins.
Padronizar processos de MLOps
Os processos de MLOps fornecem a reprodutibilidade de pipelines de ML, o que permite uma colaboração mais estreita entre as equipes de dados, reduz os conflitos com as áreas de DevOps e TI e acelera os lançamentos. Como muitos modelos são usados para embasar decisões de negócios importantes, a padronização dos processos de MLOps garante que os modelos sejam desenvolvidos, testados e implantados de modo consistente e confiável.
Criar e implantar modelos de ML é complexo. Há muitas opções disponíveis para conseguir isso, mas pouco no caminho de padrões bem definidos. Como resultado, nos últimos anos, vimos o surgimento de operações de aprendizado de máquina (MLOps). O MLOps é um conjunto de processos e automação para gerenciar modelos, dados e código para melhorar a estabilidade de desempenho e a eficiência de longo prazo em sistemas de ML. Abrange preparação de dados, análise exploratória de dados (EDA), engenharia de recursos, treinamento de modelos, validação de modelos, implantação e monitoramento.
Com MLOps na plataforma Databricks, é possível otimizar o desempenho e a eficiência a longo prazo do sistema de ML (machine learning):
- Tenha sempre em mente seus objetivos de negócios: assim como o objetivo principal do ML em uma empresa é permitir decisões e produtos orientados por dados, o objetivo principal do MLOps é garantir que esses aplicativos orientados por dados permaneçam estáveis, sejam mantidos atualizados e continuem a ter impactos positivos nos negócios. Ao priorizar o trabalho técnico em MLOps, considere o impacto nos negócios: ele permite novos casos de uso de negócios? Isso melhora a produtividade das equipes de dados? Reduz custos ou riscos operacionais?
- Gerencie os modelos de ML com uma ferramenta especializada, porém aberta: é possível usar o MLflow, que foi projetado para o ciclo de vida dos modelos de ML, a fim de rastrear e gerenciar modelos de ML. Confira o Gerenciamento do ciclo de vida do ML usando o MLflow.
- Implemente MLOps de forma modular: como acontece com qualquer aplicativo de software, a qualidade do código é fundamental para um aplicativo de ML. O código modularizado permite o teste de componentes individuais e reduz as dificuldades com a refatoração de código futura. Defina etapas claras (como treinamento, avaliação ou implantação), superetapas (como pipeline de treinamento para implantação) e responsabilidades para esclarecer a estrutura modular do seu aplicativo de ML.
Confira mais detalhes sobre isso no livro eletrônico do Databricks, The Big Book of MLOps.
Definir uma estratégia de isolamento do ambiente
Quando uma organização utiliza uma plataforma de dados como o Databricks, é comum precisar de limites de isolamento de dados entre os ambientes (como os de desenvolvimento e produção) ou entre as unidades operacionais da organização.
Os padrões de isolamento podem variar para sua organização, mas geralmente incluem as seguintes expectativas:
- Os usuários só podem obter acesso aos dados com base em regras de acesso especificadas.
- Os dados podem ser gerenciados apenas por pessoas ou equipes designadas.
- Os dados estão fisicamente separados no armazenamento.
- Os dados podem ser acessados apenas em ambientes designados.
No Databricks, o workspace é o principal ambiente de processamento de dados e há vários cenários em que workspaces separados melhoram a configuração geral, por exemplo:
- Isole diferentes unidades de negócio com os próprios workspaces para não compartilhar o administrador do workspace e garantir que nenhum ativo no Databricks seja compartilhado involuntariamente entre elas.
- Isole os ambientes do ciclo de vida de desenvolvimento de software (como desenvolvimento, preparação e produção). Por exemplo, com um workspace de produção separado, é possível testar novas configurações de workspace antes de aplicá-las à produção. O ambiente de produção também pode exigir configurações de workspace mais rigorosas do que o ambiente de desenvolvimento. Se você precisar implantar ambientes de desenvolvimento, preparo e produção em redes virtuais diferentes, também serão necessários workspaces diferentes para esses três ambientes.
- Divida os workspaces para superar as limitações de recursos: as contas/assinaturas na nuvem têm limitações de recursos. Dividir workspaces em diferentes assinaturas/contas é uma forma de garantir que recursos suficientes estejam disponíveis para cada um deles. Além disso, os workspaces do Databricks também têm limitações de recursos. A divisão dos workspaces garante que as cargas de trabalho em cada um deles tenham sempre acesso ao conjunto completo de recursos.
No entanto, também é importante considerar algumas desvantagens dos workspaces compartilhados:
A colaboração em notebooks não funciona nos workspaces.
Para diversos workspaces, tanto a configuração quanto a manutenção precisam ser totalmente automatizadas (usando o Terraform, o ARM, a API REST ou outros meios). Isso é especialmente importante para fins de migração.
Se cada workspace precisa ser protegido na camada de rede (por exemplo, para proteção contra a exfiltração de dados), a infraestrutura de rede necessária pode ser muito cara, em especial quando há muitos workspaces.
É importante encontrar um equilíbrio entre a necessidade de isolamento e de colaboração e o esforço necessário para lidar com isso.
Definir a estratégia de catálogo da sua empresa
Além de uma estratégia de isolamento de ambientes, as organizações também precisam de uma estratégia para estruturar e separar os dados e metadados. Dados como informações de identificação pessoal, informações de pagamento ou de saúde apresentam um alto risco potencial e, com a ameaça cada vez maior de violações de dados, é importante separar e proteger esses dados confidenciais, seja qual for a estratégia escolhida pela organização. Separe os dados confidenciais dos não confidenciais, tanto lógica quanto fisicamente.
Uma organização pode exigir que determinados tipos de dados sejam armazenados em contas ou buckets específicos no locatário de nuvem. O metastore do Catálogo do Unity permite que os metadados sejam estruturados pelo namespace catalog > schema > tables/views/volumes
de três níveis, com locais de armazenamento configurados no nível do metastore, do catálogo ou do esquema para atender a esses requisitos.
Em geral, os requisitos de conformidade e da organização determinam que você mantenha determinados dados apenas em determinados ambientes. Também pode ser adequado manter os dados de produção isolados dos ambientes de desenvolvimento ou garantir que determinados conjuntos de dados e domínios nunca sejam mesclados. No Databricks, o workspace é o ambiente de computação principal e os catálogos são o domínio de dados principal. Com o metastore do Catálogo do Unity, os administradores e proprietários de catálogos podem associar catálogos a workspaces específicos. Essas associações com reconhecimento de ambiente ajudam a garantir que somente determinados catálogos estejam disponíveis em um workspace, sejam quais forem as permissões de objeto de dados específicas concedidas a um usuário.
Para conferir mais detalhes sobre esses tópicos, consulte Práticas recomendadas do Catálogo do Unity
2. Automatize implantações e cargas de trabalho
Usar a IaC (infraestrutura como código) para implantações e manutenção
A IaC (infraestrutura como código) permite que desenvolvedores e equipes de operações gerenciem, monitorem e provisionem recursos automaticamente, em vez de configurar manualmente dispositivos de hardware, sistemas operacionais, aplicativos e serviços.
O HashiCorp Terraform é uma ferramenta popular de código aberto para criar uma infraestrutura de nuvem segura e previsível em diversos provedores de nuvem. O provedor Terraform do Databricks gerencia os espaços de trabalho do Azure Databricks e a infraestrutura de nuvem associada usando uma ferramenta flexível e poderosa. O objetivo do provedor Terraform do Databricks é dar suporte a todas as APIs REST do Azure Databricks, dando suporte à automação dos aspectos mais complicados da implantação e do gerenciamento de suas plataformas de dados. O provedor do Databricks Terraform é a ferramenta recomendada para implantar e gerenciar clusters e trabalhos de maneira confiável, provisionar workspaces do Azure Databricks e configurar o acesso a dados.
Padronizar as configurações de computação
A padronização de ambientes de computação garante que o mesmo software e as mesmas bibliotecas e configurações sejam usados em todos os ambientes. Essa consistência facilita a reprodução de resultados, a depuração de problemas e a manutenção de sistemas em todos os ambientes. Com ambientes padronizados, as equipes podem economizar tempo e recursos, sem precisar configurar os ambientes do zero. Além disso, é possível reduzir o risco de erros e inconsistências, que podem ocorrer durante a configuração manual. A padronização também permite a implementação de políticas e práticas de segurança consistentes em todos os ambientes. Com isso, as organizações podem gerenciar melhor os riscos e atender aos requisitos regulamentares. Por fim, a padronização pode ajudar as organizações a gerenciar melhor os custos, reduzindo o desperdício e otimizando a utilização dos recursos.
A padronização abrange a configuração do ambiente e o gerenciamento contínuo dos recursos. Para uma configuração consistente, a Databricks recomenda o uso da infraestrutura como código. Para garantir que os recursos de computação lançados ao longo do tempo sejam configurados de maneira consistente, use políticas de computação. Os administradores do workspace do Databricks podem limitar os privilégios de criação de computação de um usuário ou grupo com base em um conjunto de regras de política. Eles podem impor definições de configuração do Spark e instalações de biblioteca com escopo de cluster. Também é possível usar políticas de computação para definir clusters com tamanhos de camiseta (P, M, G) para projetos como um ambiente de trabalho padrão.
Usar fluxos de trabalho automatizados para trabalhos
A configuração de fluxos de trabalho automatizados para trabalhos pode ajudar a reduzir tarefas manuais desnecessárias e melhorar a produtividade por meio do processo de DevOps de criação e implantação de trabalhos. A plataforma Data Intelligence oferece duas maneiras de fazer isso:
Trabalhos do Databricks:
Os Trabalhos do Databricks orquestram os pipelines de processamento de dados, aprendizado de máquina e análise de dados na Plataforma de Inteligência de Dados Databricks. Ele é um serviço de orquestração totalmente gerenciado e integrado à plataforma Databricks:
- Um trabalho do Databricks é uma forma de executar aplicativos de processamento e análise de dados em um workspace do Databricks. Seu trabalho pode ser uma tarefa única ou um fluxo de trabalho grande com muitas tarefas e dependências complexas. O Databricks gerencia a orquestração das tarefas, o gerenciamento de clusters, o monitoramento e a geração de relatórios de erros para todos os trabalhos.
- A Delta Live Tables é uma estrutura declarativa para a criação de pipelines de processamento de dados confiáveis, fáceis de manter e testáveis. Você define as transformações que deseja realizar nos dados e a Delta Live Tables gerencia a orquestração de tarefas, o gerenciamento de clusters, o monitoramento, a qualidade de dados e o tratamento de erros.
Orquestradores externos:
A abrangente API REST do Azure Databricks é usada por orquestradores externos para orquestrar ativos, notebooks e trabalhos do Databricks. Consulte:
Recomenda-se o uso de Trabalhos do Databricks para todas as dependências de tarefas no Databricks e, se necessário, a integração desses fluxos de trabalho encapsulados no orquestrador externo
Usar a ingestão de arquivos automatizada e orientada por eventos
A ingestão de arquivos orientada por eventos (em comparação com a orientada por agendamento) tem diversos benefícios, incluindo eficiência, melhor atualização de dados e ingestão de dados em tempo real. Ao executar um trabalho somente quando ocorre um evento, você não desperdiça recursos e economiza dinheiro.
O carregador automático processa de forma incremental e eficiente novos arquivos de dados à medida que chegam ao armazenamento em nuvem. Ela pode ingerir muitos formatos de arquivo como JSON, CSV, PARQUET, AVRO, ORC, TEXT e BINARYFILE. Com uma pasta de entrada no armazenamento em nuvem, o carregador automático processa automaticamente novos arquivos à medida que eles chegam.
Para ingestões únicas, considere o uso do comando COPY INTO
.
Usar estruturas de ETL para pipelines de dados
Embora seja possível executar tarefas de ETL manualmente, há muitos benefícios ao usar uma estrutura. Uma estrutura oferece consistência e repetibilidade ao processo de ETL. Ao fornecer funções e ferramentas predefinidas, uma estrutura pode automatizar tarefas comuns, o que resulta em economia de tempo e recursos. As estruturas de ETL lidam com grandes volumes de dados e aumentam ou diminuem a escala com facilidade, conforme necessário. Com isso, é mais fácil gerenciar recursos e responder às mudanças nas necessidades de negócios. Muitas estruturas incluem recursos integrados de tratamento de erros e geração de logs, o que facilita a identificação e a resolução de problemas. Além disso, é comum que elas incluam validações e verificações de qualidade de dados para garantir que os dados atendam a determinados padrões antes de serem carregados no data warehouse ou no data lake.
As Tabelas Dinâmicas Delta são uma estrutura declarativa para a criação de pipelines de processamento de dados confiáveis, testáveis e de fácil manutenção. Você define as transformações que deseja realizar nos dados e a Delta Live Tables fica responsável pela orquestração de tarefas, o gerenciamento de clusters, o monitoramento, a qualidade dos dados e o tratamento de erros.
Com a Delta Live Tables, é possível definir pipelines de dados de ponta a ponta em SQL ou Python: especifique a fonte de dados, a lógica de transformação e o estado de destino dos dados. A Delta Live Tables mantém as dependências e determina automaticamente a infraestrutura em que o trabalho será executado.
Para gerenciar a qualidade dos dados, a Delta Live Tables monitora as tendências de qualidade dos dados ao longo do tempo e evita que dados incorretos sejam inseridos nas tabelas por meio de verificações de validação e integridade com políticas de erro predefinidas. ConsulteO que é o Delta Live Tables?.
Siga a abordagem de código de implantação para cargas de trabalho de ML
Em geral, o código e os modelos progridem de modo assíncrono entre os estágios de desenvolvimento de software. Há duas maneiras de fazer isso:
- Código de implantação: um projeto de ML é codificado no ambiente de desenvolvimento e esse código é movido para o ambiente de preparo para fins de teste. Após os testes, o código do projeto é implantado no ambiente de produção para ser executado.
- Modelo de implantação: o treinamento do modelo é executado no ambiente de desenvolvimento. O artefato do modelo produzido é movido para o ambiente de preparo para verificações de validação do modelo, antes da implantação do modelo no ambiente de produção.
Consulte Padrões de implantação de modelo.
O Databricks recomenda uma abordagem de implantação de código para a maioria dos casos de uso. As principais vantagens deste modelo são:
- Isso se encaixa nos fluxos de trabalho tradicionais de engenharia de software, usando ferramentas familiares como sistemas Git e CI/CD.
- Ela dá suporte a um novo treinamento automatizado em um ambiente bloqueado.
- Ela só requer que o ambiente de produção tenha acesso de leitura aos dados de treinamento de produção.
- Ela fornece controle total sobre o ambiente de treinamento, o que simplifica a reprodutibilidade.
- Ela permite que a equipe de ciência de dados use um código modular e testes iterativos, o que ajuda na coordenação e no desenvolvimento de projetos maiores.
Confira mais detalhes sobre isso no livro eletrônico do Databricks, The Big Book of MLOps.
Usar um registro de modelo para desacoplar o código e o ciclo de vida do modelo
Como os ciclos de vida do modelo não correspondem individualmente aos ciclos de vida do código, o Catálogo do Unity permite que o ciclo de vida completo dos modelos de ML seja gerenciado na versão hospedada do MLflow Model Registry. Os modelos no Catálogo do Unity estendem os benefícios desse catálogo aos modelos de ML, incluindo o controle de acesso centralizado, a auditoria, a linhagem e a descoberta de modelos entre os workspaces. Os modelos no Catálogo do Unity são compatíveis com o cliente Python de software livre do MLflow.
Automatizar o rastreamento de experimentos de ML
O rastreamento de experimentos de ML é o processo de salvar os metadados relevantes de cada experimento e organizá-los. Esses metadados incluem entradas/saídas do experimento, parâmetros, modelos e outros artefatos. O objetivo do rastreamento de experimentos é criar resultados reproduzíveis em todas as etapas do processo de desenvolvimento do modelo de ML. A automação desse processo facilita o dimensionamento do número de experimentos e garante consistência nos metadados capturados em todos os experimentos.
Log automático do Databricks é uma solução sem código que estende o log automático do MLflow para fornecer rastreamento automático de experimentos para sessões de treinamento de aprendizado de máquina no Azure Databricks. O Databricks Autologging captura automaticamente as informações de parâmetros, métricas, arquivos e linhagem dos modelos quando você os treina com execuções de treinamento registradas como execuções de rastreamento do MLflow.
Reutilizar a mesma infraestrutura para gerenciar pipelines de ML
Em geral, os dados usados para pipelines de ML são provenientes das mesmas fontes que os dados usados para outros pipelines de dados. Os pipelines de dados e de ML são semelhantes porque ambos preparam os dados para a análise pelos usuários empresariais ou para o treinamento de modelos. Ambos também precisam ser escalonáveis, seguros e monitorados adequadamente. Em ambos os casos, a infraestrutura utilizada deve dar suporte a essas atividades.
Use o provedor Terraform do Databricks para automatizar as implantações de ambientes de ML. O ML requer a implantação de infraestrutura, como trabalhos de inferência, pontos de extremidade de serviço e trabalhos de definição de recursos. Todos os pipelines de ML podem ser automatizados como Trabalhos, e muitos pipelines de ML centrados em dados podem usar a carga automática mais especializada para ingerir imagens e outros dados e tabelas dinâmicas Delta para calcular recursos ou monitorar métricas.
Use o Model Serving para implantações corporativas de modelos de ML.
Usar o gerenciamento declarativo para projetos complexos de dados e ML
As estruturas declarativas do MLOps permitem que as equipes definam os resultados desejados em termos de alto nível e permitem que o sistema lide com os detalhes da execução, o que simplifica a implantação e o dimensionamento de modelos de ML. Essas estruturas dão suporte à integração e à implantação contínuas, automatizam os testes e o gerenciamento da infraestrutura e garantem a governança e a conformidade do modelo, acelerando as comercializações e aumentando a produtividade em todo o ciclo de vida de ML.
Os DABs (Pacotes de Ativos do Databricks) são ferramentas para agilizar o desenvolvimento de projetos complexos de dados, análise e ML na plataforma Databricks. Os pacotes facilitam o gerenciamento de projetos complexos durante o desenvolvimento ativo, fornecendo recursos de CI/CD no fluxo de trabalho de desenvolvimento de software com uma sintaxe YAML única, concisa e declarativa. Ao usar pacotes para automatizar os testes, a implantação e o gerenciamento de configuração do seu projeto, você reduz os erros e promove as práticas recomendadas de software em toda a sua organização como projetos de modelo.
3. Gerenciar a capacidade e as cotas
Gerenciar limites e cotas de serviço
Gerenciar limites e cotas de serviço é importante para evitar custos inesperados e manter uma infraestrutura que funcione adequadamente. Todo serviço lançado em nuvem deve levar em consideração certos limites, como limites de taxa de acesso, o número de instâncias, o número de usuários e requisitos de memória. Para seu provedor de nuvem, marque os limites da nuvem. Antes de projetar uma solução, esses limites devem ser compreendidos.
Especificamente, para a plataforma Databricks, existem diferentes tipos de limites:
Limites da plataforma Databricks: Esses são limites específicos para recursos do Azure Databricks. Os limites para a plataforma geral estão documentados em Limites de recursos.
Limites do Catálogo Unity: Cotas de recursos do Catálogo do Unity
Cotas de assinatura/conta: o Azure Databricks aproveita os recursos de nuvem para seu serviço. Por exemplo, as cargas de trabalho no Azure Databricks são executadas em clusters, para os quais a plataforma Databricks inicia as máquinas virtuais (VM) do provedor de nuvem. Os provedores de nuvem definem cotas padrão sobre quantas VMs podem ser iniciadas ao mesmo tempo. Dependendo da necessidade, essas cotas podem precisar ser ajustadas.
Para obter mais detalhes, consulte Aumentar cotas de vCPU da família VM.
Da mesma forma, o armazenamento, a rede e outros serviços de nuvem têm limitações que devem ser compreendidas e levadas em conta.
Invista no planejamento de capacidade
O planejamento de capacidade envolve o gerenciamento dos recursos de nuvem, como armazenamento, computação e rede, para manter o desempenho e otimizar os custos. Planeje variações na carga esperada, que podem ocorrer por diversos motivos, como mudanças repentinas nos negócios ou até mesmo eventos mundiais. Teste as variações de carga, incluindo as inesperadas, para garantir que as cargas de trabalho possam ser dimensionadas. Verifique se todas as regiões podem ser dimensionadas o suficiente para dar suporte à carga total em caso de falha em uma delas. Considere:
- Limitações de tecnologia e serviço e restrições da nuvem. Confira Gerenciar a capacidade e as cotas.
- SLAs para determinar os serviços que serão usados no design.
- Análise de custos para determinar a melhoria obtida no aplicativo em caso de aumento do custo. Avaliação do preço para saber se ele equivale ao investimento.
É importante compreender e planejar eventos de alta prioridade (volume). Se os recursos de nuvem provisionados não forem suficientes e as cargas de trabalho não forem dimensionadas, esses aumentos no volume poderão causar interrupções.
4. Configurar o monitoramento, a geração de alertas e a geração de logs
Estabelecer processos de monitoramento
Estabelecer processos de monitoramento para uma plataforma de dados é fundamental por muitos motivos. Os processos de monitoramento permitem a detecção antecipada de problemas de qualidade de dados, gargalos de desempenho e falhas de sistema, o que pode ajudar a evitar tempo de inatividade e perda de dados. Eles podem ajudar a identificar ineficiências na plataforma de dados e otimizar os custos, o que reduz os desperdícios e melhora a utilização dos recursos. Além disso, os processos de monitoramento podem ajudar a garantir a conformidade com os requisitos regulatórios e fornecer trilhas de auditoria de acesso e uso dos dados.
Usar ferramentas nativas e externas para o monitoramento da plataforma
A plataforma Databricks Data Intelligence conta com soluções de monitoramento integradas e integração com sistemas de monitoramento externos:
Monitoramento da plataforma usando as soluções de monitoramento do Azure
O monitoramento é fundamental para qualquer solução de nível de produção, e o Azure Databricks oferece funcionalidade robusta para monitorar métricas de aplicativo personalizadas, eventos de consulta de streaming e mensagens de log de aplicativo. O Azure Databricks pode enviar esses dados de monitoramento para diferentes serviços de registro em log. Os artigos a seguir mostram como enviar dados de monitoramento do Azure Databricks para o Azure Monitor, a plataforma de dados de monitoramento do Azure.
Databricks Lakehouse Monitoring
O Databricks Lakehouse Monitoring permite monitorar as propriedades estatísticas e a qualidade dos dados em todas as tabelas da conta. O monitoramento da qualidade dos dados fornece medidas quantitativas para rastrear e confirmar a consistência dos dados ao longo do tempo e ajuda a identificar e alertar os usuários sobre mudanças na distribuição de dados e no desempenho do modelo. Também é possível acompanhar o desempenho dos modelos de machine learning monitorando tabelas de inferência que contêm entradas e previsões do modelo.
Confira Exibir as despesas do Lakehouse Monitoring para saber mais sobre os custos.
Monitoramento de warehouses SQL
O monitoramento do SQL warehouse é essencial para entender o perfil de carga ao longo do tempo e gerenciar o SQL warehouse de forma eficiente. Com o monitoramento do SQL warehouse, você pode exibir informações, como o número de consultas manipuladas pelo depósito ou o número de clusters alocados ao depósito.
Alertas de SQL do Databricks
Os alertas de SQL do Databricks executam consultas periodicamente, avaliam as condições definidas e enviam notificações quando uma condição é atendida. Você pode configurar alertas para monitorar sua empresa e enviar notificações quando os dados relatados estiverem fora dos limites esperados.
Além disso, é possível criar um alerta de SQL do Databricks com base em uma métrica de uma tabela de métricas de monitoramento, por exemplo, para receber notificações quando uma estatística sai de um determinado intervalo ou quando os dados oscilam em comparação com a tabela de linha de base.
Monitoramento do carregador automático
O Carregador Automático fornece uma API SQL para inspecionar o estado de um fluxo. Com as funções SQL, você pode encontrar metadados sobre arquivos que foram descobertos por um fluxo do carregador automático. Consulte Monitoramento de carregador automático.
Com a interface Apache Spark Streaming Query Listener os fluxos do carregador automático podem ser monitorados ainda mais.
Monitoramento de trabalhos
O monitoramento de trabalhos ajuda a identificar e resolver problemas em trabalhos do Databricks, como falhas, atrasos ou gargalos de desempenho. Ele fornece insights sobre o desempenho dos trabalhos e permite otimizar a utilização de recursos, reduzir o desperdício e melhorar a eficiência geral.
Monitoramento da Delta Live Tables
Um log de eventos é criado e mantido para cada pipeline das Tabelas Dinâmicas Delta. O log de eventos contém todas as informações relacionadas ao pipeline, incluindo logs de auditoria, verificações de qualidade de dados, progresso de pipeline e linhagem de dados. É possível usar o log de eventos para rastrear, compreender e monitorar o estado dos pipelines de dados.
Monitoramento de streaming
O streaming é uma das mais importantes técnicas de processamento de dados para ingestão e análise. Ele fornece aos usuários e desenvolvedores recursos de processamento de dados de baixa latência e em tempo real para análises e acionamento de ações. A plataforma Databricks Data Intelligence permite monitorar consultas estruturadas de streaming.
Monitoramento de ML e IA
Monitorar o desempenho dos modelos nos fluxos de trabalho de produção é um aspecto importante do ciclo de vida do modelo de IA e ML. As tabelas de inferência simplificam o monitoramento e o diagnóstico de modelos registrando continuamente entradas e respostas de solicitações de veiculação (previsões) dos pontos de extremidade do Serviço do Modelo do Mosaic AI e salvando-as em uma tabela Delta no Catálogo do Unity. Em seguida, você pode usar todos os recursos da plataforma do Databricks, como consultas DBSQL, notebooks e Monitoramento do Lakehouse para monitorar, depurar e otimizar seus modelos.
Para saber mais sobre o monitoramento da veiculação de modelos, confira Monitorar a qualidade de modelos e a integridade de pontos de extremidade.
Monitoramento de segurança
Confira Segurança, conformidade e privacidade – Monitoramento de segurança.
Monitoramento de custos
Confira Otimização de custos – Monitorar e controlar os custos.