O que é CI/CD no Azure Databricks?
Este artigo é uma introdução ao CI/CD no Databricks. Integração contínua e entrega contínua (CI/CD) refere-se ao processo de desenvolvimento e entrega de software em ciclos curtos e frequentes através do uso de pipelines de automação. CI/CD é comum ao desenvolvimento de software, e está se tornando cada vez mais necessário para a engenharia de dados e ciência de dados. Ao automatizar a criação, o teste e a implantação do código, as equipes de desenvolvimento são capazes de fornecer versões de forma mais confiável do que com os processos manuais ainda comuns às equipes de engenharia de dados e ciência de dados.
O Azure Databricks recomenda o uso de Databricks Asset Bundles para CI/CD, que permitem o desenvolvimento e a implantação de dados complexos, análises e projetos de ML para a plataforma Azure Databricks. Os pacotes permitem que você gerencie facilmente muitas configurações personalizadas e automatize compilações, testes e implantações de seus projetos nos espaços de trabalho de desenvolvimento, preparação e produção do Azure Databricks.
Para obter uma visão geral de CI/CD para projetos de aprendizado de máquina no Azure Databricks, consulte Como o Databricks dá suporte a CI/CD para aprendizado de máquina?.
O que há em um pipeline de CI/CD no Azure Databricks?
Você pode usar o Databricks Asset Bundles para definir e gerenciar programaticamente sua implementação de CI/CD do Azure Databricks, que geralmente inclui:
- Blocos de anotações: os blocos de anotações do Azure Databricks geralmente são uma parte fundamental dos fluxos de trabalho de engenharia e ciência de dados. Você pode usar o controle de versão para notebooks e também validá-los e testá-los como parte de um pipeline de CI/CD. Você pode executar testes automatizados em blocos de anotações para verificar se eles estão funcionando conforme o esperado.
- Bibliotecas: gerencie as dependências de biblioteca necessárias para executar o código implantado. Use o controle de versão em bibliotecas e inclua-as em testes e validações automatizados.
- Fluxos de trabalho: os trabalhos do Databricks são compostos por trabalhos que permitem agendar e executar tarefas automatizadas usando blocos de anotações ou trabalhos do Spark.
- Pipelines de dados: Você também pode incluir pipelines de dados na automação de CI/CD, usando Delta Live Tables, a estrutura em Databricks para declarar pipelines de dados.
- Infraestrutura: a configuração da infraestrutura inclui definições e informações de provisionamento para clusters, espaços de trabalho e armazenamento para ambientes de destino. As alterações na infraestrutura podem ser validadas e testadas como parte de um pipeline de CI/CD, garantindo que sejam consistentes e livres de erros.
Etapas para CI/CD no Azure Databricks
Um fluxo típico para um pipeline de CI/CD do Azure Databricks inclui as seguintes etapas:
- Loja: armazene seu código e blocos de anotações do Azure Databricks em um sistema de controle de versão como o Git. Isso permite que você acompanhe as alterações ao longo do tempo e colabore com outros membros da equipe. Veja as técnicas de CI/CD com as pastas Git e Databricks Git (Repos) e agrupe as configurações do Git.
- Código: desenvolva código e testes de unidade em um bloco de anotações do Azure Databricks no espaço de trabalho ou localmente usando um IDE externo. O Azure Databricks fornece uma extensão do Visual Studio Code que facilita o desenvolvimento e a implantação de alterações nos espaços de trabalho do Azure Databricks.
- Compilar: use as configurações do Databricks Asset Bundles para criar automaticamente determinados artefatos durante as implantações. Veja artefatos. Além disso, o Pylint estendido com o plug-in pylint do Databricks Labs ajuda a impor padrões de codificação e detetar bugs em seus notebooks Databricks e código de aplicativo.
- Implantar: implante alterações no espaço de trabalho do Azure Databricks usando Databricks Asset Bundles em conjunto com ferramentas como Azure DevOps, Jenkins ou GitHub Actions. Consulte Modos de implantação do Databricks Asset Bundle.
- Teste: desenvolva e execute testes automatizados para validar suas alterações de código usando ferramentas como pytest. Para testar suas integrações com APIs de espaço de trabalho, o plug-in pytest do Databricks Labs permite criar objetos de espaço de trabalho e limpá-los após a conclusão dos testes.
- Executar: use a CLI do Databricks em conjunto com o Databricks Asset Bundles para automatizar execuções em seus espaços de trabalho do Azure Databricks. Consulte Executar um pacote.
- Monitor: monitore o desempenho de seu código e fluxos de trabalho no Azure Databricks usando ferramentas como o Azure Monitor ou o Datadog. Isso ajuda a identificar e resolver quaisquer problemas que surjam em seu ambiente de produção.
- Iterar: faça iterações pequenas e frequentes para melhorar e atualizar seu projeto de engenharia de dados ou ciência de dados. As pequenas alterações são mais fáceis de reverter do que as grandes.
Ligações relacionadas
Para obter mais informações sobre como gerenciar o ciclo de vida dos ativos e dados do Azure Databricks, consulte a documentação a seguir sobre CI/CD e ferramentas de pipeline de dados.
Área | Use essas ferramentas quando quiser... |
---|---|
Pacotes de ativos Databricks | Defina, implante e execute programaticamente trabalhos do Azure Databricks, pipelines Delta Live Tables e MLOps Stacks usando práticas recomendadas e fluxos de trabalho de CI/CD. |
Fornecedor do Terraform do Databricks | Provisione e gerencie a infraestrutura e os recursos do Databricks usando o Terraform. |
Fluxos de trabalho CI/CD com pastas Git e Databricks Git | Use as pastas GitHub e Databricks Git para controle de origem e fluxos de trabalho de CI/CD. |
Autenticar com o Azure DevOps no Databricks | Autentique-se com o Azure DevOps. |
Usar uma entidade de serviço do Microsoft Entra para autenticar o acesso às pastas Git do Azure Databricks | Use uma entidade de serviço do MS Entra para autenticar o acesso às pastas do Databricks Git. |
Integração e entrega contínuas no Azure Databricks mediante a utilização do Azure DevOps | Desenvolva um pipeline de CI/CD para o Azure Databricks que usa o Azure DevOps. |
Integração e entrega contínuas usando ações do GitHub | Desenvolva um fluxo de trabalho de CI/CD no GitHub que use as Ações do GitHub desenvolvidas para o Azure Databricks. |
CI/CD com Jenkins no Azure Databricks | Desenvolva um pipeline de CI/CD para o Azure Databricks que usa Jenkins. |
Orquestre trabalhos do Azure Databricks com o Apache Airflow | Gerencie e agende um pipeline de dados que usa o Apache Airflow. |
Entidades de serviço para CI/CD | Use entidades de serviço, em vez de usuários, com sistemas de CI/CD. |