Melhores práticas para a excelência operacional
Este artigo aborda as melhores práticas de excelência operacional, organizadas por princípios de arquitetura listados nas seções a seguir.
1. Optimize processos de compilação e lançamento
Crie uma equipe de operações dedicada à 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 plantas e melhores práticas internamente. Eles fornecem ferramentas - por exemplo, para automação de infraestrutura e acesso de autoatendimento - e garantem que os requisitos de segurança e conformidade sejam atendidos. Isso coloca o fardo de proteger os dados da plataforma em uma equipe central, permitindo que equipes distribuídas se concentrem em trabalhar com dados e gerar novos insights.
Usar o gerenciamento de código-fonte corporativo (SCM)
O gerenciamento de código-fonte (SCM) ajuda os desenvolvedores a trabalhar de forma mais eficaz, o que pode levar a uma velocidade de liberação mais rápida e a custos de desenvolvimento mais baixos. Having uma ferramenta que ajuda a controlar alterações, manter a integridade do código, detetar bugs e reverter para versões anteriores é um componente importante da arquitetura geral da solução.
As pastas Databricks Git permitem que os usuários armazenem blocos de anotações ou outros arquivos em um repositório Git, fornecendo recursos como clonar um repositório, confirmar e enviar, puxar, gerenciar ramificações e visualizar diffs de arquivos. Use pastas Git para melhor visibilidade e acompanhamento do código.
Padronizar processos de DevOps (CI/CD)
Integração contínua e entrega contínua (CI/CD) refere-se ao desenvolvimento e implantação de software em ciclos curtos e frequentes usando pipelines automatizados. Embora este não seja um processo novo, having sido onipresente na engenharia de software tradicional por décadas, está se tornando um processo cada vez mais necessário para equipes de engenharia de dados 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 devem ter confiança 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 fornecer versões com mais frequência e confiabilidade do que os processos manuais que ainda dominam muitas equipes de engenharia de dados e ciência de dados. Consulte O que é CI/CD no Azure Databricks?.
Para obter mais informações sobre as práticas recomendadas para o desenvolvimento de código usando pastas Git Databricks, consulte Técnicas de CI/CD com pastas Git e Databricks Git (Repos). Juntamente com a API REST do Databricks, você pode criar processos de implantação automatizados usando ações do GitHub, pipelines do Azure DevOps ou trabalhos Jenkins.
Padronizar processos MLOps
Os processos MLOps fornecem reprodutibilidade de pipelines de ML, permitindo uma colaboração mais estreita entre as equipes de dados, reduzindo conflitos com devops e TI e acelerando a velocidade de lançamento. Como muitos modelos são usados para conduzir as principais decisões de negócios, padronizar os processos de MLops garante que os modelos sejam desenvolvidos, testados e implantados de forma consistente e confiável.
Criar e implantar modelos de ML é complexo. Existem muitas opções disponíveis para o conseguir, mas pouco em termos de normas bem definidas. Como resultado, nos últimos anos, vimos o surgimento de operações de aprendizado de máquina (MLOps). O MLOps é uma set 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. Ele 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.
MLOps na plataforma Databricks pode ajudá-lo a optimize o desempenho e a eficiência a longo prazo do seu sistema de aprendizado de máquina (ML):
- Tenha sempre em mente seus objetivos de negócios: assim como o objetivo principal do ML em um negócio é 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? Melhora a produtividade das equipas de dados? Reduz os custos ou riscos operacionais?
- Gerencie modelos de ML com uma ferramenta especializada, mas aberta: você pode usar o MLflow - projetado para o ciclo de vida do modelo de ML - para rastrear e gerenciar modelos de ML. Consulte MLflow parade ciclo de vida do agente de IA de geração e do modelo de ML.
- Implemente MLOps de forma modular: Como em qualquer aplicativo de software, a qualidade do código é primordial 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 de seu aplicativo de ML.
Isso é descrito em detalhes no ebook Databricks The Big Book of MLOps.
Definir estratégia de isolamento de ambiente
Quando uma organização usa uma plataforma de dados como o Databricks, muitas vezes há a necessidade de ter limites de isolamento de dados entre ambientes (como desenvolvimento e produção) ou entre unidades operacionais organizacionais.
Os padrões de isolamento podem variar para sua organização, mas normalmente incluem as seguintes expectativas:
- Os usuários só podem obter acesso aos dados com base em regras de acesso especificadas.
- Os dados só podem ser geridos por pessoas ou equipas designadas.
- Os dados são fisicamente separados no armazenamento.
- Os dados podem ser acessados apenas em ambientes designados.
No Databricks, o espaço de trabalho é o ambiente de processamento de dados primário e há vários cenários where espaços de trabalho separados melhoram a configuração geral, por exemplo:
- Isole diferentes unidades de negócios com seus próprios espaços de trabalho para evitar compartilhar o administrador do espaço de trabalho e garantir que nenhum ativo no Databricks seja compartilhado involuntariamente entre unidades de negócios.
- Isolar ambientes de ciclo de vida de desenvolvimento de software (como desenvolvimento, preparação e produção). Por exemplo, um espaço de trabalho de produção separado permite testar novas configurações de espaço de trabalho antes de aplicá-las à produção. Ou o ambiente de produção pode exigir configurações de espaço de trabalho mais rigorosas do que o ambiente de desenvolvimento. Se você precisar implantar ambientes de desenvolvimento, preparação e produção em redes virtuais diferentes, também precisará de espaços de trabalho diferentes para os três ambientes.
- Dividir espaços de trabalho para superar limitações de recursos: as contas/assinaturas na nuvem têm limitações de recursos. Dividir espaços de trabalho em diferentes assinaturas/contas é uma maneira de garantir que recursos suficientes estejam disponíveis para cada espaço de trabalho. Além disso, os espaços de trabalho Databricks também têm limitações de recursos. Dividir os espaços de trabalho assegura que as cargas de trabalho em cada espaço de trabalho tenham sempre acesso ao set completo de recursos.
No entanto, existem algumas desvantagens nos espaços de trabalho compartilhados que também devem ser considerados:
A colaboração entre blocos de notas não funciona em espaços de trabalho.
Para vários espaços de trabalho, tanto a configuração quanto a manutenção precisam ser totalmente automatizadas (por Terraform, ARM, REST API ou outros meios). Isto é especialmente importante para efeitos de migração.
Se cada espaço de trabalho precisar ser protegido na camada de rede (por exemplo, para proteger contra exfiltração de dados), a infraestrutura de rede necessária pode ser muito cara, especialmente para um grande número de espaços de trabalho.
É importante encontrar um equilíbrio entre a necessidade de isolamento e a necessidade de colaboração e o esforço necessário para mantê-lo.
Defina a estratégia catalog para a sua empresa
Juntamente com uma estratégia de isolamento ambiental, as organizações precisam de uma estratégia para estruturar e separar metadados e dados. Os dados, incluindo informações de identificação pessoal, pagamento ou informações de saúde, acarretam um alto risco potencial e, com a ameaça cada vez maior de violações de dados, é importante separar e proteger dados confidenciais, independentemente da estratégia organizacional escolhida. Separe seus dados confidenciais de dados não confidenciais, lógica e fisicamente.
Uma organização pode exigir que certos tipos de dados sejam armazenados em contas ou buckets específicos em seu locatário de nuvem. O metastore Unity Catalog permite que os metadados sejam organizados no seu namespace de três níveis catalog > schema > tables/views/volumes
, com locais de armazenamento configurados no metastore, catalogou no nível schema para atender a esses requisitos.
Os requisitos organizacionais e de conformidade geralmente determinam que você mantenha determinados dados apenas em determinados ambientes. Você também pode querer 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 espaço de trabalho é o ambiente de computação primário e catalogs são o domínio de dados primário. Usando o metastore Unity Catalog, os administradores e proprietários de catalog podem vincular catalogs a espaços de trabalho específicos. Essas associações com reconhecimento de ambiente ajudam a garantir que apenas determinadas catalogs estejam disponíveis num espaço de trabalho, independentemente das permissões específicas de objeto de dados concedidas a um utilizador.
Para uma discussão completa desses tópicos, consulte Unity Catalog melhores práticas
2. Automatize implantações e cargas de trabalho
Usar infraestrutura como código (IaC) para implantações e manutenção
A infraestrutura como código (IaC) 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.
HashiCorp Terraform é uma ferramenta popular de código aberto para criar uma infraestrutura de nuvem segura e previsível em várias nuvens providers. O provedor Databricks Terraform 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 Databricks Terraform é dar suporte a todas as APIs REST do Azure Databricks, dando suporte à automação dos aspetos mais complicados da implantação e gerenciamento de suas plataformas de dados. O Databricks Terraform Provider é a ferramenta recomendada para implantar e gerenciar clusters e trabalhos de forma confiável, provisionar espaços de trabalho do Azure Databricks e configurar o acesso a dados.
Padronizar configurações de computação
A padronização de ambientes de computação garante que o mesmo software, 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, eliminando a necessidade de configurar e set ambientes do zero. Isso também reduz 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. Isso pode ajudar as organizações a gerenciar melhor os riscos e cumprir os requisitos regulamentares. Finalmente, a padronização pode ajudar as organizações a gerenciar melhor os custos, reduzindo o desperdício e otimizando a utilização de recursos.
A padronização abrange a configuração do ambiente e o gerenciamento contínuo de recursos. Para uma configuração consistente, o Databricks recomenda o uso da infraestrutura como código. Para garantir que os recursos de computação iniciados ao longo do tempo sejam configurados de forma consistente, use políticas de computação. Os administradores do espaço de trabalho Databricks podem limit os privilégios de criação de computação de um usuário ou grupo com base em uma set de regras de política. Eles podem impor definições de configuração do Spark e impor instalações de bibliotecas com escopo de cluster. Você também pode usar políticas de computação para definir clusters de tamanho de camiseta (S, M, L) 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 de Inteligência de Dados fornece duas maneiras de fazer isso:
Trabalhos Databricks:
O Databricks Jobs orquestra pipelines de processamento de dados, aprendizado de máquina e análise na plataforma de inteligência de dados Databricks. É um serviço de orquestração totalmente gerenciado integrado com a plataforma Databricks:
- Os trabalhos do Databricks são uma maneira de executar seus aplicativos de processamento e análise de dados em um espaço de trabalho do Databricks. Seu trabalho pode ser uma única tarefa ou um fluxo de trabalho grande e multitarefa com dependências complexas. O Databricks gerencia a orquestração de tarefas, o gerenciamento de clusters, o monitoramento e o relatório de erros para todos os seus trabalhos.
- Delta Live Tables é uma estrutura declarativa para a criação de pipelines de processamento de dados confiáveis, sustentáveis e testáveis. Você define as transformações que deseja executar em seus dados e o Delta Live Tables gerencia a orquestração de tarefas, o gerenciamento de clusters, o monitoramento, a qualidade dos dados e o tratamento de erros.
Orquestradores externos:
A abrangente API REST do Azure Databricks é usada por orquestradores externos para orquestrar ativos, blocos de anotações e trabalhos do Databricks. Veja:
- Fluxo de ar Apache.
- Azure Data Factory.
Recomendamos usar o Databricks Jobs para todas as dependências de tarefas no Databricks e, se necessário, integrar esses fluxos de trabalho encapsulados no orquestrador externo
Usar ingestão de arquivos automatizada e orientada a eventos
A ingestão de arquivos orientada a eventos (versus agendada) tem vários benefícios, incluindo eficiência, maior atualização de dados e ingestão de dados em tempo real. Executar um trabalho somente quando ocorre um evento garante que você não desperdice recursos, o que economiza dinheiro.
O Auto Loader processa de forma incremental e eficiente novos ficheiros de dados à medida que chegam ao armazenamento na nuvem. Ele 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 Auto Loader processa automaticamente novos arquivos à medida que eles chegam.
Para ingestões pontuais, considere usar o comando COPY INTO
.
Usar estruturas ETL para pipelines de dados
Embora seja possível executar tarefas ETL manualmente, há muitos benefícios em usar uma estrutura. Uma estrutura traz consistência e repetibilidade ao processo de ETL. Ao fornecer funções e ferramentas pré-criadas, uma estrutura pode automatizar tarefas comuns, economizando tempo e recursos. As estruturas ETL podem lidar com grandes volumes de dados e podem ser facilmente dimensionadas para cima ou para baixo, conforme necessário. Isso facilita o gerenciamento de recursos e a resposta às necessidades de negócios em constante mudança. Muitas estruturas incluem recursos internos de tratamento e registro de erros, facilitando a identificação e a resolução de problemas. E geralmente incluem verificações e validações de qualidade de dados para garantir que os dados atendam a determinados padrões antes de serem carregados no data warehouse ou data lake.
O Delta Live Tables é uma estrutura declarativa para a construção de pipelines de processamento de dados confiáveis, sustentáveis e testáveis. Você define as transformações que deseja executar em seus dados e o Delta Live Tables lida com orquestração de tarefas, gerenciamento de cluster, monitoramento, qualidade de dados e tratamento de erros.
Com o Delta Live Tables, você pode 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. O Delta Live Tables mantém dependências e determina automaticamente a infraestrutura na qual executar o trabalho.
Para gerenciar a qualidade dos dados, o Delta Live Tables monitora as tendências de qualidade dos dados ao longo do tempo e impede que dados incorretos entrem tables por meio de verificações de validação e integridade com políticas de erro predefinidas. Veja O que é Delta Live Tables?.
Siga a abordagem de código de implantação para cargas de trabalho de ML
O código e os modelos geralmente progridem de forma assíncrona através dos estágios de desenvolvimento de software. Existem duas formas de o conseguir:
- deploy code: Um projeto de ML é codificado no ambiente de desenvolvimento e, em seguida, esse código é movido para o ambiente de teste, onde where é testado. Após o teste bem-sucedido, o código do projeto é implantado no ambiente de produção where, onde é executado.
- modelo de implantação: o treinamento do modelo é executado no ambiente de desenvolvimento. O artefato do modelo produzido é então 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 código de implantação para a maioria dos casos de uso. As principais vantagens deste modelo são:
- Isso se encaixa em fluxos de trabalho tradicionais de engenharia de software, usando ferramentas familiares como Git e sistemas CI/CD.
- Ele suporta o retreinamento automatizado em um ambiente bloqueado.
- Ele requer apenas que o ambiente de produção tenha acesso de leitura aos dados de treinamento do prod.
- Ele fornece controle total sobre o ambiente de treinamento, ajudando a simplificar a reprodutibilidade.
- Ele permite que a equipe de ciência de dados use código modular e testes iterativos, ajudando na coordenação e desenvolvimento em projetos maiores.
Isso é descrito em detalhes no ebook Databricks The Big Book of MLOps.
Usar um registro modelo para dissociar o código e o ciclo de vida do modelo
Como os ciclos de vida do modelo não correspondem um-para-um aos ciclos de vida do código, o Unity Catalog permite que o ciclo de vida completo dos modelos de ML seja gerenciado em sua versão hospedada do MLflow Model Registry. Models no Unity Catalog estende os benefícios do Unity Catalog aos modelos de ML, incluindo controle de acesso centralizado, auditoria, linhagem e descoberta de modelos em espaços de trabalho. Os modelos no Unity Catalog são compatíveis com o cliente Python MLflow de código aberto.
Automatize o rastreamento de experimentos de ML
Rastrear experimentos de ML é o processo de salvar metadados relevantes para cada experimento e organizar os experimentos. Esses metadados incluem entradas/saídas de experimentos, parameters, modelos e outros artefatos. O objetivo do rastreamento de experimentos é criar resultados reproduzíveis em todos os estágios do processo de desenvolvimento do modelo de ML. A automatização desse processo facilita o dimensionamento do número de experimentos e garante a consistência nos metadados capturados em todos os experimentos.
O Databricks Autologging é uma solução sem código que estende o log automático MLflow para fornecer rastreamento automático de experimentos para sessões de treinamento de aprendizado de máquina no Azure Databricks. Databricks Autologging captura automaticamente o modelo parameters, métricas, arquivos e informações de linhagem quando treina modelos com execuções de treinamento registadas como execuções de rastreamento no MLflow.
Reutilize a mesma infraestrutura para gerenciar pipelines de ML
Os dados usados para pipelines de ML normalmente vêm das mesmas fontes que os dados usados para outros pipelines de dados. ML e pipelines de dados são semelhantes na medida em que ambos preparam dados para análise de usuários corporativos ou treinamento de modelos. Ambos também precisam ser escaláveis, seguros e monitorados adequadamente. Em ambos os casos, a infraestrutura utilizada deve apoiar estas atividades.
Use o provedor Databricks Terraform para automatizar 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 featurização. Todos os pipelines de ML podem ser automatizados como
Certifique-se de usar o Model Serving para implantação de nível empresarial de modelos de ML.
Utilize o gerenciamento declarativo para dados complexos e projetos de ML
As estruturas declarativas dentro 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, simplificando a implantação e o dimensionamento de modelos de ML. Essas estruturas oferecem suporte à integração e implantação contínuas, automatizam testes e gerenciamento de infraestrutura e garantem a governança e a conformidade do modelo, acelerando o tempo de comercialização e aumentando a produtividade em todo o ciclo de vida do ML.
Os Databricks Asset Bundles (DABs) são uma ferramenta para simplificar o desenvolvimento de dados complexos, análises e projetos de ML para a plataforma Databricks. Os pacotes facilitam o gerenciamento de projetos complexos durante o desenvolvimento ativo, fornecendo recursos de CI/CD em seu fluxo de trabalho de desenvolvimento de software usando uma sintaxe YAML única, concisa e declarativa. Usando pacotes para automatizar o teste, a implantação e o gerenciamento de configuração do seu projeto, você pode reduzir erros enquanto promove as práticas recomendadas de software em toda a sua organização como projetos modelados.
3. Gerir a capacidade e as quotas
Gerenciar limites de serviço e cotas
A gestão de limites e quotas de serviço é importante para manter uma infraestrutura que funcione bem e evitar custos inesperados. Cada serviço iniciado em uma nuvem deve levar em conta limites, como limites de taxa de acesso, número de instâncias, número de usuários e requisitos de memória. Para o seu provedor de nuvem, verifique 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: estes são limites específicos para recursos do Azure Databricks. Os limites para a plataforma geral estão documentados em Limites de recursos.
Unity Catalog limites:Unity Catalog cotas de recursos
Quotas de subscrição/conta: o Azure Databricks aproveita os recursos da nuvem para o seu serviço. Por exemplo, cargas de trabalho no Azure Databricks são executadas em clusters, para os quais a plataforma Databricks inicia máquinas virtuais (VM) do provedor de nuvem. As quotas padrão da nuvem providersset definem quantas VMs podem ser iniciadas ao mesmo tempo. Em função das necessidades, estas quotas poderão ter de ser adaptadas.
Para obter mais detalhes, consulte Aumentar as cotas de vCPU da família VM.
Da mesma forma, armazenamento, rede e outros serviços em nuvem têm limitações que devem ser compreendidas e consideradas.
Invista no planejamento de capacidade
O planejamento de capacidade envolve o gerenciamento de recursos de nuvem, como armazenamento, computação e rede, para manter o desempenho e, ao mesmo tempo, otimizar os custos. Planeje variações na carga esperada, que podem ocorrer por vários motivos, incluindo mudanças repentinas nos negócios ou até mesmo eventos mundiais. Teste variações de carga, incluindo inesperadas, para garantir que suas cargas de trabalho possam ser dimensionadas. Certifique-se de que todas as regiões possam ser dimensionadas o suficiente para suportar a carga total se uma região falhar. Considere:
- Limitações de tecnologia e serviços e restrições de nuvem. Consulte Gerenciar capacidade e cotas.
- SLAs para determinar os serviços a serem usados no projeto.
- Análise de custos para determinar quanta melhoria na aplicação é realizada se o custo for aumentado. Avalie se o preço vale o investimento.
Compreender e planejar eventos de alta prioridade (volume) é importante. Se os recursos de nuvem provisionados não forem suficientes e as cargas de trabalho não puderem ser dimensionadas, esses aumentos no volume podem causar uma interrupção.
4. Set monitorização, alertas e registo de logs
Estabelecer processos de monitorização
Estabelecer processos de monitoramento para uma plataforma de dados é fundamental por vários motivos. Os processos de monitoramento permitem a deteção precoce de problemas como problemas de qualidade de dados, gargalos de desempenho e falhas do 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 optimize custos, reduzindo o desperdício e melhorando a utilização de 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 de dados.
Use ferramentas nativas e externas para monitoramento de plataforma
A plataforma Databricks Data Intelligence possui soluções de monitoramento integradas e integra sistemas de monitoramento externos:
Monitoramento de plataforma usando 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 aplicativos personalizadas, eventos de consulta de streaming e mensagens de log de aplicativos. O Azure Databricks pode enviar estes dados de monitorização para diferentes serviços de registo. Os artigos seguintes mostram como enviar dados de monitorização do Azure Databricks para o Azure Monitor, a plataforma de dados de monitorização do Azure.
- Send Azure Databricks application logs to Azure Monitor (Enviar registos de aplicações do Azure Databricks para o Azure Monitor)
- Use dashboards to visualize Azure Databricks metrics (Utilizar dashboards para visualizar as métricas do Azure Databricks)
- Resolver problemas de estrangulamento
Databricks Lakehouse Monitoramento
Databricks Lakehouse Monitoring permite que você monitore as propriedades estatísticas e a qualidade dos dados em todos os tables em sua 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 alterações na distribuição de dados e no desempenho do modelo. Você também pode acompanhar o desempenho de modelos de aprendizado de máquina monitorando tables de inferência que contêm entradas de modelo e previsões.
Consulte Ver despesas de monitoramento de Lakehouse para entender o custo do monitoramento de Lakehouse.
Monitoramento do SQL warehouse
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 para o depósito.
Alertas SQL do Databricks
Os alertas do Databricks SQL periodicamente executam consultas, avaliam as condições definidas e enviam notificações se uma condição for atendida. Você pode set alertas para monitorar sua empresa e enviar notificações quando os dados relatados estiverem fora dos limites esperados.
Além disso, você pode criar um alerta do Databricks SQL com base em uma métrica de uma métrica de monitor table, por exemplo, para get notificado quando uma estatística sair de um determinado intervalo ou se os dados tiverem se desviado em comparação com a linha de base table.
Monitorização do carregador automático
O Auto Loader 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 Auto Loader. Consulte Monitoramento do carregador automático.
Com a interface Apache Spark Streaming Query Listener , os fluxos do Auto Loader podem ser monitorados ainda mais.
Monitorização de trabalhos
O monitoramento de tarefas ajuda você a identificar e resolver problemas em seus trabalhos do Databricks, como falhas, atrasos ou gargalos de desempenho. O monitoramento de tarefas fornece informações sobre o desempenho do trabalho, permitindo que você optimize a utilização de recursos, reduza o desperdício e melhore a eficiência geral.
monitorização de Tables Delta Live
Um registo de eventos é criado e mantido para cada pipeline do Delta Live Tables. O log de eventos contém todas as informações relacionadas ao pipeline, incluindo logs de auditoria, verificações de qualidade de dados, progresso do pipeline e linhagem de dados. Você pode usar o log de eventos para rastrear, entender e monitorar o estado de seus pipelines de dados.
Monitorização de streaming
O streaming é uma das técnicas de processamento de dados mais importantes para ingestão e análise. Ele fornece aos usuários e desenvolvedores recursos de baixa latência e processamento de dados em tempo real para análises e acionamento de ações. A plataforma Databricks Data Intelligence permite monitorar consultas de Streaming Estruturado.
Monitoramento de ML e IA
O monitoramento do desempenho de modelos em fluxos de trabalho de produção é um aspeto importante do ciclo de vida do modelo de IA e ML. A inferência tables simplifica o monitoramento e o diagnóstico de modelos, registando continuamente as entradas e respostas de pedidos (previsões) dos endpoints do serviço de modelos AI do Mosaic, e armazenando-os num Delta table no Unity Catalog. Em seguida, você pode usar todos os recursos da plataforma Databricks, como consultas DBSQL, notebooks e Lakehouse Monitoring para monitorar, depurar e optimize seus modelos.
- Para modelos personalizados, consulte Inferência para monitoramento e depuração de modelos tables.
- Para modelos externos e cargas de trabalho de taxa de transferência provisionadas, consulte Monitorar modelos servidos usando inferência habilitada para AI Gateway tables.
Para obter mais detalhes sobre o monitoramento do serviço do modelo, consulte Monitorar a qualidade do modelo e a integridade do ponto final.
Monitorização de segurança
Consulte Segurança, conformidade, & privacidade - Monitoramento de segurança.
Monitorização de custos
Consulte Otimização de custos - Monitorar e controlar custos.