CI/CD na Databricks
integração contínua (CI) e entrega contínua (CD) (CI/CD) refere-se ao processo de desenvolvimento e entrega software em ciclos curtos e frequentes por meio do uso de pipeline de automação. CI/CD é comum no desenvolvimento de software e está se tornando cada vez mais necessário na engenharia de dados e na ciência de dados. Ao automatizar a construção, o teste e a implantação de código, as equipes de desenvolvimento conseguem entregar lançamentos de forma mais confiável do que com processos manuais.
Databricks fornece ferramentas para desenvolver pipeline de CI/CD que atendem a abordagens que podem diferir ligeiramente de organização para organização devido a aspectos exclusivos do ciclo de vida de desenvolvimento software de cada organização. Esta página fornece informações sobre ferramentas disponíveis para pipeline de CI/CD no Databricks. Para obter detalhes sobre recomendações e práticas recomendadas CI/CD , consulte Melhores práticas e fluxo de trabalho CI/CD recomendado no Databricks.
Para obter uma visão geral da CI/CD para projetos de aprendizado de máquina na Databricks, consulte Como a Databricks oferece suporte à CI/CD para aprendizado de máquina?
Fluxo de alto nível
Um fluxo comum para um pipeline de CI/CD do Databricks é:
-
Versão : armazene seu código Databricks e Notebook em um sistema de controle de versão como Git. Isso permite que você acompanhe as alterações ao longo do tempo e colabore com outros membros da equipe.
- Usuários individuais usam uma pasta Git para criar e testar alterações antes de enviá-las a um repositório Git . Veja CI/CD com pastas Git do Databricks (Repos).
- Opcionalmente, configure as configurações do pacote Git.
-
Código : Desenvolva código e testes unitários em um Databricks Notebook no workspace ou localmente usando um IDE.
- Use o LakeFlow Pipelines Editor para desenvolver um pipeline no workspace.
- Use a extensãoDatabricks Visual Studio Code para desenvolver e implementar alterações locais no espaço de trabalho Databricks .
-
Build : use as configurações de pacotes ativos Databricks para criar automaticamente determinados artefatos durante implantações.
- Configure o mapeamento de artefatos de configuração do pacote.
- O Pylint estendido com o plugin pylintDatabricks Labs ajuda a impor padrões de codificação e detectar bugs no seu Databricks Notebook e no código do aplicativo.
-
implantado : implantado alterações no workspace Databricks usando pacotes ativo Databricks com ferramentas como Azure DevOps, GitHub Actions ou Jenkins.
- Configurar implantações usando modos de implantação de pacote.
- Para obter detalhes sobre como usar o Azure DevOps e o Databricks, consulte Integração e entrega contínuas no Databricks usando o Azure DevOps.
- Para exemplos GitHub Actions Databricks , consulte GitHub Actions.
-
Teste : Desenvolva e execute testes automatizados para validar suas alterações de código.
- Use ferramentas como o pytest para testar suas integrações.
-
execução : Use a CLI Databricks com pacotes ativos Databricks para automatizar a execução em seu espaço de trabalho Databricks .
- recurso de pacote de execução usando execução de pacote de databricks.
-
Monitor : Monitore o desempenho do seu código e das cargas de trabalho de produção no Databricks usando ferramentas como o Job monitoramento. Isso ajuda você a identificar e resolver quaisquer problemas que surjam no seu ambiente de produção.
Ferramentas disponíveis
As seguintes ferramentas dão suporte aos princípios básicos de CI/CD : versionar todos os arquivos e unificar o gerenciamento ativo, definir infraestrutura como código, isolar ambientes, automatizar testes e monitorar e automatizar reversões.
Área | Use essas ferramentas quando quiser... |
---|---|
Definir, implantar e executar programaticamente LakeFlow Jobs, LakeFlow Declarative pipeline e MLOps Stacks usando CI/CD práticas recomendadas e fluxo de trabalho. | |
provisionamento e gerenciar Databricks espaço de trabalho e infraestrutura usando Terraform. | |
Integração e entrega contínuas no Databricks usando Azure DevOps | Desenvolva um pipeline de CI/CD para o Databricks que use o Azure DevOps. |
Inclua um GitHub Actions desenvolvido para Databricks em seu CI/CD fluxo de trabalho. | |
Desenvolva um pipeline de CI/CD para a Databricks que use o Jenkins. | |
gerenciar e programar a pipeline de dados que usa Apache Airflow. | |
Utilize entidade de serviço, em vez de usuários, com CI/CD. | |
Autenticar o acesso ao Databricks usando a federação de tokens OAuth | Use a federação de identidade de carga de trabalho para autenticação de CI/CD, o que elimina a necessidade de segredos do Databricks, tornando-a a maneira mais segura de autenticação no Databricks. |
Pacotes ativosDatabricks
Databricks Os pacotes ativos são a abordagem recomendada para CI/CD em Databricks. Use Databricks ativo Bundles para descrever Databricks recurso, como Job e pipeline, como arquivos de origem, e agrupe-os com outros ativos para fornecer uma definição de ponta a ponta de um projeto implantável. Esses pacotes de arquivos podem ter o código-fonte controlado e o senhor pode usar a automação externa do CI/CD, como o GitHub Actions, para acionar as implementações.
Os pacotes incluem muitos recursos, como padrões personalizados para impor consistência e melhores práticas em toda a sua organização, além de suporte abrangente para aprimorar os arquivos de código e a configuração de muitos recursos Databricks . É necessário algum conhecimento da sintaxe de configuração do pacote para criar um pacote.
Para recomendações sobre como usar pacotes em CI/CD, consulte Melhores práticas e fluxo de trabalho CI/CD recomendado no Databricks.
Outras ferramentas para controle de origem
Como alternativa à aplicação de CI/CD completo com Databricks ativo Bundles, Databricks oferece opções para controlar apenas a origem e aprimorar os arquivos de código e o Notebook.
-
Pasta Git: pastas Git podem ser usadas para refletir o estado de um repositório Git remoto. Você pode criar uma pasta git para produção para gerenciar arquivos de origem controlados por código-fonte e Notebook. Em seguida, puxe manualmente a pasta Git para o estado mais recente ou use ferramentas externas CI/CD , como GitHub Actions , para puxar a pasta Git na merge ou quando você não tiver acesso ao pipeline externo CI/CD . Essa abordagem funciona para orquestradores externos, como Airflow, mas observe que apenas os arquivos de código, como rascunhos do Notebook e do painel, estão no controle de origem. Configurações para Job ou pipeline que são executadas ativamente na pasta Git e configurações para publicação de painéis não estão no controle de origem.
-
Git com Job: se você só precisa de controle de origem para arquivos de código para um Job, permite configurar alguns tipos de Job para usar um repositório Git remoto como origem. Quando uma execução de trabalho começa, Databricks faz um commit instantâneo do repositório remoto e garante que toda a execução do trabalho esteja na mesma versão do código. Essa abordagem só oferece suporte a tarefas de trabalho limitadas. Além disso, apenas os arquivos de código, como Notebook e outros arquivos, estão no controle de origem. Configurações Job como sequências de tarefas, compute e programar não são controladas pela origem, tornando essa abordagem menos adequada para implantações em vários ambientes eworkspace .