Visão geral das configurações do Azure Databricks
Azure Databricks é uma plataforma baseada em nuvem que combina os melhores recursos de engenharia de dados e ciência de dados. Ele permite criar, gerenciar e analisar pipelines de dados usando Apache Spark uma estrutura de código aberto rápida e escalável para processamento de big data. Azure O Databricks também fornece um espaço de trabalho colaborativo para cientistas de dados e engenheiros trabalharem juntos em projetos de aprendizagem automática e inteligência artificial.
Se você trabalha no governo ou no setor público, esta documentação de arquitetura de referência fornece orientação opinativa para o uso do Azure Databricks com uma implantação de Sovereign Landing Zone ou Azure Landing Zone com iniciativas de políticas de base de soberania aplicadas.
A documentação do produto Databricks Azure oferece informações extensas sobre vários artigos. Este documento complementa a documentação, fornecendo recomendações selecionadas sobre os principais conceitos e opções para configurar um ambiente Azure Databricks.
Principais características do Azure Databricks
Azure O Databricks tem um rico conjunto de recursos, mas para essa arquitetura de referência, nos concentramos em seus elementos de infraestrutura. Azure A Databricks oferece:
Blocos de anotações interativos: use blocos de anotações para escrever código em Python, Scala, SQL ou R e visualize os resultados com gráficos e tabelas. Partilhe e comente blocos de notas com os membros da equipa e integre-os com ferramentas populares como o GitHub e Azure DevOps.
Opções de computação: Azure O Databricks fornece várias opções de computação para suportar cargas de trabalho de engenharia de dados, ciência de dados e análise de dados. Essas opções incluem computação sem servidor escalável e sob demanda para notebooks e trabalhos, computação provisionada para análise para todos os fins e trabalhos automatizados e armazéns SQL para executar comandos SQL. Os pools de instâncias oferecem instâncias ociosas e prontas para uso para reduzir os tempos de início e dimensionamento automático, aumentando a eficiência em diferentes cenários de processamento de dados.
Integração de dados: conecte-se facilmente a várias fontes de dados e destinos, como Azure Blob Storage, Azure Data Lake Storage Azure SQL Database, Azure Synapse Analytics Azure Cosmos DB e muito mais. Use o Delta Lake, uma solução de data lake confiável e de alto desempenho que suporta transações ACID e imposição de esquema.
aprendizagem automática: Crie, treine e implante modelos aprendizagem automática usando estruturas populares como TensorFlow, PyTorch, Scikit-learn e XGBoost. Use o MLflow, uma plataforma de código aberto para gerenciar o ciclo de vida do aprendizagem automática, para rastrear experimentos, registrar métricas e implantar modelos.
Segurança corporativa: acesse e processe seus dados com segurança, com recursos como controle de acesso baseado em função, criptografia, auditoria e conformidade. Integre o Azure Databricks com Microsoft Entra ID, Azure Key Vault e Azure Private Link para proteção de identidade e dados.
Governança e compartilhamento de dados: o Unity Catalog simplifica o compartilhamento de dados dentro das organizações e a análise segura na nuvem, fornecendo uma versão gerenciada do Delta Sharing para compartilhamento externo e um modelo unificado de governança de dados para os dados lakehouse.
Arquitetura Databricks de alto nível
Azure O Databricks opera a partir de um plano de controle e um plano de computação. A arquitetura de referência recomenda opções de configuração em cada um desses planos de controle. O diagrama a seguir descreve a arquitetura geral Azure Databricks.
Plano de controlo
O plano de controle é o camada do Azure Databricks que gerencia o ciclo de vida de clusters e trabalhos, e a autenticação e autorização de usuários e acesso a dados. O plano de controle inclui os serviços de back-end gerenciados por Azure Databricks em sua conta Azure Databricks. O aplicativo Web está no plano de controle.
O plano de controle é executado em uma assinatura Azure de propriedade do Azure Databricks e se comunica com os planos de computação clássicos e sem servidor por meio de APIs seguras. O plano de controle também fornece a interface da Web e APIs REST para que os usuários interajam com o Azure Databricks.
Plano de computação
O plano de computação é onde seus dados são processados. Existem dois tipos de planos de computação - serverless e classic. O plano de computação sem servidor oferece recursos instantâneos e elásticos, enquanto o plano de computação clássico depende de infraestrutura pré-provisionada.
Plano de computação sem servidor
A computação sem servidor é ideal para consultas ad-hoc, blocos de anotações e cargas de trabalho de curta duração. Por exemplo, você pode usar computação sem servidor para executar comandos SQL em blocos de anotações ou executar trabalhos leves. No plano de computação sem servidor, os recursos são executados em um camada de computação dentro da conta Azure Databricks.
Azure O Databricks cria um plano de computação sem servidor na mesma região Azure que o plano de computação clássico do seu espaço de trabalho. Ele opera um pool de servidores, localizados na conta do Databricks, executando contêineres Kubernetes que podem ser atribuídos a um utente em segundos. Para obter mais informações, consulte Anunciando a plataforma Databricks Serverless SQL: instantânea, gerenciada, segura e pronta para produção para cargas de trabalho SQL - The Databricks Blog.
A plataforma de computação expande rapidamente o cluster com mais servidores quando os usuários executam relatórios ou consultas simultaneamente para lidar com a carga simultânea. O Databricks gerencia toda a configuração do servidor e executa automaticamente os patches e atualizações conforme necessário. A computação sem servidor é cobrada por uso (por exemplo, por execução de consulta ou execução de trabalho).
Cada servidor executa uma configuração segura e todo o processamento é protegido por três camadas de isolamento – o contentor do Kubernetes que hospeda o tempo de execução, a VM que hospeda o contentor e a rede virtual do espaço de trabalho. Cada camada é isolado em um espaço de trabalho sem compartilhamento ou tráfego entre redes permitido.
Os contêineres usam configurações reforçadas, as VMs são desligadas e não reutilizadas e o tráfego de rede é restrito a nós no mesmo cluster. Toda a computação é efêmera, dedicada exclusivamente a essa carga de trabalho e limpa com segurança depois que a carga de trabalho é concluída.
Todo o tráfego entre você, o plano de controle, o plano de computação e os serviços de nuvem é roteado pela rede global do Azure, não pela internet pública. O plano de computação sem servidor para armazéns SQL sem servidor não usa a conectividade de back-end Azure Private Link configurável pelo cliente. O plano de controle Azure Databricks se conecta ao plano de computação sem servidor com mTLS com acesso IP permitido apenas para o endereço IP do plano de controle.
Todo o armazenamento conectado é protegido pela criptografia AES-256 padrão do setor e todo o tráfego entre o utente, o plano de controle, o plano de computação e os serviços de nuvem são criptografados com pelo menos TLS 1.2. Os armazéns SQL sem servidor não usam chaves gerenciadas pelo cliente para discos gerenciados.
As cargas de trabalho não têm privilégios ou credenciais para sistemas fora do escopo dessa carga de trabalho e o acesso aos dados é feito por meio de tokens de curta duração (uma hora). Esses tokens são passados com segurança para cada carga de trabalho específica.
A partir de junho de 2024, a Computação Confidencial Azure não é suportada para computação sem servidor, mas sua carga de trabalho é protegida por várias camadas de isolamento, conforme mostrado no diagrama de isolamento de computação sem servidor Azure.
Para obter mais informações, consulte Implantar suas cargas de trabalho com segurança na computação sem servidor.
Plano de computação clássico
O plano de computação clássico é adequado para trabalhos de longa duração, cargas de trabalho de produção e necessidades consistentes de recursos. Por exemplo, você pode usar computação provisionada para pipelines de ETL, treinamento de aprendizagem automática e tarefas de engenharia de dados.
Um plano de computação clássico tem isolamento natural porque é executado em sua própria assinatura Azure. Novos recursos de computação são criados e configurados dentro da rede virtual de cada espaço de trabalho em sua assinatura Azure. Os recursos de computação permanecem constantes até serem explicitamente modificados e são cobrados com base no tipo e na duração da instância. Os clusters podem usar chaves gerenciadas pelo cliente para discos gerenciados, e há suporte para instâncias spot.
Azure Os administradores do Databricks podem usar políticas de cluster para controlar muitos aspetos dos clusters, incluindo tipos de instância disponíveis, versões do Databricks e tamanhos de instâncias.
A injeção de rede virtual Databricks é um recurso que permite implantar recursos do plano de computação clássico Azure Databricks em sua própria rede virtual. Esse recurso ajuda você a conectar o Azure Databricks a outros serviços Azure de maneira mais segura usando pontos de extremidade de serviço ou pontos de extremidade privados. Você também pode usar o emparelhamento de rede virtual para emparelhar a rede virtual que seu espaço de trabalho Azure Databricks está a executar com outra rede virtual Azure.