Compreender os conceitos-chave
O Azure Databricks é uma plataforma de serviço única com várias tecnologias que permitem trabalhar com dados em escala. Ao usar o Azure Databricks, há alguns conceitos-chave para entender.
Áreas de Trabalho
Um espaço de trabalho no Azure Databricks é um ambiente seguro e colaborativo onde você pode acessar e organizar todos os ativos do Databricks, como blocos de anotações, clusters, trabalhos, bibliotecas, painéis e experimentos.
Você pode abrir um Espaço de Trabalho do Azure Databricks no portal do Azure, selecionando Iniciar Espaço de Trabalho.
Ele fornece uma interface do usuário baseada na Web (UI), bem como APIs REST para gerenciar recursos e fluxos de trabalho. Os espaços de trabalho podem ser estruturados em pastas para organizar projetos, pipelines de dados ou ativos de equipe, e as permissões podem ser aplicadas em diferentes níveis para controlar o acesso. Eles oferecem suporte à colaboração permitindo que vários usuários, como engenheiros de dados, analistas e cientistas de dados, trabalhem juntos em blocos de anotações compartilhados, acompanhem experimentos e gerenciem dependências.
Além disso, os espaços de trabalho são vinculados ao Unity Catalog (quando habilitado) para governança centralizada de dados, garantindo acesso seguro aos dados em toda a organização. Cada espaço de trabalho também está vinculado a um grupo de recursos subjacente do Azure (incluindo um grupo de recursos gerenciados) que contém os recursos de computação, rede e armazenamento que o Databricks usa nos bastidores.
Notebooks
Os blocos de anotações Databricks são documentos interativos baseados na Web que combinam código executável, visualizações e texto narrativo em um único ambiente. Eles suportam várias linguagens, como Python, R, Scala e SQL, e permitem que os usuários alternem entre linguagens dentro do mesmo bloco de anotações usando comandos mágicos. Essa flexibilidade torna os notebooks adequados para análise exploratória de dados, visualização de dados, experimentos de aprendizado de máquina e criação de pipelines de dados complexos.
Os blocos de notas também foram concebidos para colaboração: vários utilizadores podem editar e executar células em simultâneo, adicionar comentários e partilhar informações em tempo real. Eles se integram perfeitamente aos clusters Databricks, permitindo que os usuários processem grandes conjuntos de dados de forma eficiente, e podem se conectar a fontes de dados externas por meio do Unity Catalog para acesso controlado a dados. Além disso, os notebooks podem ser controlados por versões, agendados como tarefas ou exportados para compartilhamento fora da plataforma, tornando-os centrais tanto para exploração ad-hoc como para fluxos de trabalho de nível de produção.
Os blocos de notas contêm um conjunto de dois tipos de células: células de código e células de Markdown. As células de código contêm código executável. As células Markdown contêm código Markdown que é renderizado como texto e gráficos. Você pode executar uma única célula, um grupo de células ou o bloco de anotações inteiro.
Agrupamentos
O Azure Databricks aproveita uma arquitetura de duas camadas:
- Plano de Controlo: esta camada interna, gerida pela Microsoft, processa serviços de back-end específicos da sua conta do Azure Databricks.
- Plano de computação: esta é a camada externa que processa os dados e vive na sua Subscrição do Azure.
Os clusters são os principais mecanismos computacionais no Azure Databricks. Eles fornecem o poder de processamento necessário para executar tarefas de engenharia de dados, ciência de dados e análise. Cada cluster consiste em um nó gestor, que coordena a execução, e um ou mais nós de execução, que lidam com os cálculos distribuídos. Os clusters podem ser criados manualmente com recursos fixos ou definidos para dimensionamento automático, permitindo que o Databricks adicione ou remova nós de trabalho dependendo da demanda de carga de trabalho. Essa flexibilidade garante o uso eficiente dos recursos e o controle de custos.
O Azure Databricks Compute oferece um amplo conjunto de opções de computação disponíveis para diferentes tipos de carga de trabalho:
- Computação sem servidor: computação sob demanda totalmente gerenciada que aumenta ou diminui automaticamente para atender às necessidades de carga de trabalho. Ideal para equipes que desejam tempos de inicialização rápidos, sobrecarga mínima de gerenciamento e escalabilidade elástica.
- Computação clássica: clusters provisionados e configurados pelo usuário que oferecem controle total sobre as configurações de computação, como tamanhos de VM, bibliotecas e versões de tempo de execução. Ideal para cargas de trabalho especializadas que exigem personalização ou desempenho consistente.
- Armazéns SQL: Recursos de computação otimizados para análises baseadas em SQL e consultas de BI. Os armazéns SQL podem ser provisionados como sem servidor (elástico, gerenciado) ou clássico (configurado pelo usuário), dependendo dos requisitos de governança e desempenho.
Isso permite que você adapte a computação a necessidades específicas, desde análises exploratórias em notebooks até pipelines de ETL em grande escala e painéis e relatórios de alto desempenho.
Databricks Runtime
O Databricks Runtime é um conjunto de compilações personalizadas do Apache Spark que incluem melhorias de desempenho e bibliotecas adicionais. Esses tempos de execução facilitam o manuseio de tarefas como aprendizado de máquina, processamento de gráficos e genômica, ao mesmo tempo em que suportam processamento e análise de dados gerais.
O Databricks fornece várias versões de runtime, incluindo versões de suporte de longo prazo (LTS). Cada versão especifica a versão subjacente do Apache Spark, sua data de lançamento e quando o suporte terminará. Com o tempo, as versões mais antigas do tempo de execução seguem um ciclo de vida:
- Legado – disponível, mas não mais recomendado.
- Preterido – marcado para remoção em uma versão futura.
- Fim do Suporte (EoS) – não são fornecidos mais patches ou correções.
- Fim da Vida Útil (EoL) – aposentado e não mais disponível.
Se uma atualização de manutenção for lançada para uma versão de tempo de execução que você está usando, você poderá aplicá-la reiniciando o cluster.
Empregos em Lakeflow
Os Lakeflow Jobs fornecem automação e orquestração de fluxo de trabalho no Azure Databricks, tornando possível agendar, coordenar e executar tarefas de processamento de dados de forma confiável. Em vez de executar o código manualmente, você pode usar trabalhos para automatizar cargas de trabalho repetitivas ou de nível de produção, como pipelines de ETL, treinamento de aprendizado de máquina ou atualizações de painel.
Um trabalho no Databricks é essencialmente um contêiner para uma ou mais tarefas. As tarefas definem o trabalho a ser feito — por exemplo, executar um bloco de anotações, executar um trabalho do Spark, chamar código externo, ...
Os trabalhos podem ser acionados de diferentes maneiras:
- Em um horário (por exemplo, todas as noites à meia-noite).
- Em resposta a um evento.
- Manualmente, quando necessário.
Como são repetíveis e gerenciados, os trabalhos são essenciais para cargas de trabalho de produção. Eles garantem que os pipelines de dados sejam executados de forma consistente, que os modelos de ML sejam treinados e implantados de forma controlada e que os sistemas downstream recebam dados atualizados e precisos.
Lago Delta
O Delta Lake é uma estrutura de armazenamento de código aberto que melhora a confiabilidade e a escalabilidade dos data lakes adicionando recursos transacionais ao armazenamento de objetos na nuvem, como o Armazenamento do Azure Data Lake. Os data lakes tradicionais podem sofrer com problemas como dados inconsistentes, gravações parciais ou dificuldades para gerenciar o acesso simultâneo. A Delta Lake resolve estes problemas apoiando:
- Transações ACID (atomicidade, consistência, isolamento, durabilidade) para leituras e gravações confiáveis.
- Tratamento escalável de metadados para que as tabelas possam crescer para bilhões de arquivos sem perda de desempenho.
- Versionamento e reversão de dados, permitindo consultas de estados passados e recuperação de estados anteriores.
- Processamento unificado em lote e streaming, para que a mesma tabela possa lidar com a ingestão em tempo real e cargas históricas de lotes.
Além dessa base, as tabelas Delta fornecem uma abstração de tabela familiar que facilita o trabalho com dados estruturados usando consultas SQL ou a API DataFrame. As tabelas delta são o formato de tabela padrão no Azure Databricks, garantindo que novos dados sejam armazenados com garantias transacionais por padrão.
Databricks SQL
O Databricks SQL traz recursos de armazenamento de dados para o Databricks Lakehouse, permitindo que analistas e usuários de negócios consultem e visualizem dados armazenados em formatos abertos diretamente no data lake. Ele suporta ANSI SQL, para que qualquer pessoa familiarizada com SQL possa executar consultas, criar relatórios e criar painéis sem precisar aprender novas linguagens ou ferramentas.
O Databricks SQL está disponível apenas na camada Premium do Azure Databricks. Inclui:
- Um editor SQL para escrever e executar consultas.
- Painéis e ferramentas de visualização para compartilhar insights.
- Integração com ferramentas externas de BI e analytics.
Armazéns SQL
Todas as consultas SQL do Databricks são executadas em armazéns SQL (anteriormente chamados de pontos de extremidade SQL), que são recursos de computação escaláveis dissociados do armazenamento. Diferentes tipos de armazém estão disponíveis dependendo do desempenho, custo e necessidades de gerenciamento:
SQL Warehouses sem servidor
- Computação instantânea e elástica com inicialização e dimensionamento automáticos rápidos.
- Baixa sobrecarga de gerenciamento , uma vez que o Databricks lida com capacidade, aplicação de patches e otimização.
- Eficiência de custos , dimensionando automaticamente e evitando custos de recursos ociosos.
Armazéns SQL Pro
- Mais personalizável, mas mais lento para iniciar (≈4 minutos).
- Dimensionamento automático menos responsivo em comparação com computação sem servidor.
- Útil quando cargas de trabalho consistentes e previsíveis são necessárias.
Armazéns SQL clássicos
- Os recursos de computação são executados em sua própria assinatura do Azure, não no Databricks.
- Menos flexível do que sem servidor, mas pode ser preferido para requisitos específicos de governança ou gerenciamento de custos.
MLflow
O MLflow é uma plataforma de código aberto projetada para gerenciar o ciclo de vida de aprendizado de máquina (ML) de ponta a ponta. Ele ajuda cientistas de dados e engenheiros de ML a rastrear experimentos, gerenciar modelos e simplificar o processo de mover modelos do desenvolvimento para a produção. O MLflow também suporta fluxos de trabalho de IA generativa e inclui ferramentas para avaliar e melhorar os agentes de IA.