O que são pacotes Databricks ativos?

Os Databricks ativo Bundles (DABs) são uma nova ferramenta para simplificar o desenvolvimento de projetos complexos de análise de dados e ML para a plataforma Databricks. Os pacotes facilitam a geração de projetos complexos durante o desenvolvimento ativo, fornecendo recursos de CI/CD em seu fluxo de trabalho de desenvolvimento de software com uma única sintaxe YAML concisa e declarativa. Ao usar os pacotes para automatizar os testes, as implementações e o gerenciamento de configuração do seu projeto, o senhor pode reduzir os erros e, ao mesmo tempo, promover as práticas recomendadas de software em toda a organização como projetos de modelo.

Os pacotes oferecem uma maneira de incluir metadados junto com os arquivos de origem do seu projeto. Quando o senhor implanta um projeto usando pacotes, esses metadados são usados para provisionar a infraestrutura e outros recursos. A coleção de arquivos de origem e metadados do seu projeto é então implantada como um único pacote no ambiente de destino.

Um pacote inclui as seguintes partes:

  • Infraestrutura clouds necessária e configurações workspace

  • Arquivos de origem, como os arquivos do Notebook e do site Python, que incluem a lógica de negócios

  • Definições e configurações para Databricks recurso, como Databricks Job, Delta Live Tables pipeline, servindo modelo endpoint, MLflow Experiments e MLflow modelos registrados

  • Testes unitários e testes de integração

Quando devo usar os pacotes ativos do Databricks?

Os pacotes ativos do Databricks são uma abordagem de infraestrutura como código (IaC) para gerenciar seus projetos do Databricks. Use-os quando quiser gerenciar projetos complexos onde vários colaboradores e automação são essenciais, e integração e implantação contínuas (CI/CD) são um requisito. Como os pacotes são definidos e gerenciados por meio do YAML padrão e dos arquivos que você cria e mantém junto com o código-fonte, eles mapeiam bem os cenários onde IaC é uma abordagem apropriada.

Alguns cenários ideais para pacotes incluem:

  • Desenvolva análises de dados e projetos de ML em um ambiente baseado em equipe. Os pacotes podem ajudá-lo a organizar e gerenciar vários arquivos de origem com eficiência. Isso garante uma colaboração tranquila e processos simplificados.

  • Repita os problemas de ML com mais rapidez. Gerenciar recursos ML pipelines (como Job de treinamento e inferência de lotes) usando projetos de ML que seguem as melhores práticas de produção desde o início.

  • Defina padrões organizacionais para novos projetos criando modelos de pacotes personalizados que incluem permissões default , entidade de serviço e configurações de CI/CD.

  • compliance regulatória: Em indústrias onde compliance regulatória é uma preocupação significativa, os pacotes podem ajudar a manter uma história versionada de código e trabalho de infraestrutura. Isto auxilia na governança e garante que os padrões compliance necessários sejam atendidos.

Como funcionam os pacotes Databricks ativo?

Os metadados do pacote são definidos usando arquivos YAML que especificam os artefatos, os recursos e a configuração de um projeto Databricks. O senhor pode criar esse arquivo YAML manualmente ou gerar um usando um pacote padrão. O site Databricks CLI pode então ser usado para validar, implantar e executar pacotes usando esses arquivos YAML de pacotes. O senhor pode executar projetos de pacotes em IDEs, terminais ou diretamente em Databricks. Neste artigo, abordaremos o uso do Databricks CLI .

Os pacotes podem ser criados manualmente ou com base em um padrão. A CLI da Databricks fornece default padrão para casos de uso simples, mas para trabalhos mais específicos ou complexos, o senhor pode criar um padrão de pacote personalizado para implementar as práticas recomendadas da sua equipe e manter consistentes as configurações comuns.

Para obter mais detalhes sobre a configuração YAML usada para expressar os Databricks ativo Bundles, consulte Configurações do Databricks ativo Bundle.

Configure seu ambiente para usar os pacotes

Use a CLI do Databricks para implantar facilmente os pacotes a partir da linha de comando. O senhor pode verificar se a CLI da Databricks está instalada e a versão atual que está usando executando o seguinte comando:

databricks --version

Observação

É necessário o Databricks CLI versão 0.218.0 ou superior. Para instalar a CLI da Databricks, consulte Instalar ou atualizar a CLI da Databricks.

Depois de instalar a CLI do Databricks, verifique se o espaço de trabalho remoto do Databricks está configurado corretamente. Os pacotes exigem que o recurso workspace files esteja ativado, pois esse recurso suporta o trabalho com arquivos diferentes do Databricks Notebook, como os arquivos .py e .yml. Se o senhor estiver usando o Databricks Runtime versão 11.2 (ou posterior), esse recurso deverá ser ativado em default.

Autenticação

Databricks fornece vários métodos de autenticação. A Databricks recomenda que você use um dos seguintes métodos para autenticar:

  • Para cenários de autenticação assistida , como fluxo de trabalho manual em que você usa seu navegador da Web para log in no workspace do Databricks de destino (quando solicitado pela CLI do Databricks), use a autenticação usuário-máquina (U2M) do OAuth. Este método é ideal para experimentar o tutorial de início de pacotes do Databricks ativo ou para o desenvolvimento rápido de pacotes.

  • Para cenários de autenticação autônoma , como fluxo de trabalho totalmente automatizado em que não há oportunidade de usar seu navegador da Web para log in no workspace do Databricks de destino naquele momento, use a autenticação OAuth máquina a máquina (M2M). Este método requer o uso de Databricks entidade de serviço e é ideal para usar Databricks ativo Bundles com sistemas CI/CD como GitHub.

Para autenticação OAuth U2M, faça o seguinte:

  1. Use a CLI do Databricks para iniciar o gerenciamento tokens OAuth localmente executando o comando a seguir para cada workspace de destino.

    No comando a seguir, substitua <workspace-url> pela URL da instância do espaço de trabalho do Databricks, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

    databricks auth login --host <workspace-url>
    
  2. A CLI do Databricks solicita que você salve as informações inseridas como um perfil de configuração do Databricks. Pressione Enter para aceitar o nome de perfil sugerido ou digite o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome será substituído pelas informações inseridas. Você pode usar perfis para alternar rapidamente seu contexto de autenticação em vários workspace.

    Para obter uma lista de quaisquer perfis existentes, em um terminal ou prompt de comando separado, use a CLI do Databricks para executar o comando databricks auth profiles. Para view as configurações existentes de um perfil específico, execute o comando databricks auth env --profile <profile-name>.

  3. No navegador da Web, siga as instruções na tela para log in no workspace do Databricks.

  4. Para view o valor atual tokens OAuth de um perfil e o carimbo de data/hora de expiração futura dos tokens , execute um dos seguintes comandos:

    • databricks auth token --host <workspace-url>

    • databricks auth token -p <profile-name>

    • databricks auth token --host <workspace-url> -p <profile-name>

    Se você tiver vários perfis com o mesmo valor --host, talvez seja necessário especificar as opções --host e -p juntas para ajudar a CLI do Databricks a encontrar as informações tokens OAuth correspondentes corretas.

Você pode usar o nome desse perfil de configuração de uma ou mais das seguintes maneiras sempre que validar, implantar, executar ou destruir pacotes configuráveis:

  • Com a opção de linha de comando -p <profile-name>, anexada aos comandos databricks bundle validate, databricks bundle deploy, databricks bundle run ou databricks bundle destroy. Consulte o fluxo de trabalho de desenvolvimento do Databricks ativo Bundles.

  • Como o valor do mapeamento profile no mapeamento workspace de nível superior do arquivo de configuração do pacote (embora o Databricks recomende que você use o mapeamento host definido para a URL do workspacedo Databricks em vez do mapeamento profile, como isso torna seus arquivos de configuração de pacote mais portáteis). Consulte a cobertura do mapeamento profile no espaço de trabalho.

  • Se o nome do perfil de configuração for DEFAULT, ele será usado por default quando a opção de linha de comando -p <profile-name> ou o mapeamento profile (ou host) não for especificado.

Para autenticação OAuth M2M, faça o seguinte:

  1. Conclua as instruções de configuração da autenticação OAuth M2M. Consulte a autenticação OAuth máquina a máquina (M2M).

  2. Instale a CLI do Databricks no recurso compute de destino de uma das seguintes maneiras:

    • Para instalar manualmente a CLI do Databricks no recurso compute em tempo real, consulte Instalar ou atualizar a CLI do Databricks.

    • Para usar GitHub Actions para instalar automaticamente a CLI do Databricks em uma máquina virtual GitHub, consulte setup-cli no GitHub.

    • Para utilizar outros sistemas CI/CD para instalar automaticamente o Databricks CLI numa máquina virtual, consulte a documentação do fornecedor do sistema CI/CD e Instalar ou atualizar o Databricks CLI.

  3. Defina a seguinte variável de ambiente no recurso compute da seguinte forma:

    • DATABRICKS_HOST, defina como o URL da instância do espaço de trabalho do Databricks, por exemplo https://dbc-a1b2345c-d6e7.cloud.databricks.com.

    • DATABRICKS_CLIENT_ID, definido como o valor da ID do aplicativo da entidade de serviço do Databricks.

    • DATABRICKS_CLIENT_SECRET, definido como o valor secreto OAuth da entidade de serviço do Databricks.

    Para definir essas variáveis de ambiente, consulte a documentação do sistema operacional ou do sistema CI/CD do recurso compute de destino.

Desenvolva seu primeiro pacote ativo Databricks

A maneira mais rápida de começar o desenvolvimento de bundles é usando um padrão. Crie seu primeiro projeto de pacote usando o comando Databricks CLI bundle init sem nenhuma opção. Isso apresenta uma opção de modelos de pacotes default fornecidos pela Databricks e faz uma série de perguntas para inicializar as variáveis do projeto.

databricks bundle init

As organizações também podem criar padrões de pacotes personalizados para definir seus próprios padrões. Esses padrões podem incluir as permissões do site default, a entidade de serviço e a configuração personalizada de CI/CD. Consulte Databricks ativo Bundle padrão.

Depois de inicializar o projeto, use o comando bundle validate para validar o pacote antes de implantá-lo no espaço de trabalho.

databricks bundle validate

Normalmente, o senhor cria um pacote em uma máquina de desenvolvimento local com um IDE e a versão Databricks CLI versão 0.218.0 ou acima. Essas ferramentas permitem que o senhor crie, valide, implante e execute um pacote. Consulte Databricks ativo Bundles development fluxo de trabalho.

Você pode editar um pacote em um workspace do Databricks depois de adicionar o pacote ao Git usando a integração da pasta Git do Databricks. No entanto, você não pode testar ou implantar um pacote configurável a partir de um workspace. Em vez disso, você pode usar seu IDE local para teste e CI/CD para implantação.

Próximos passos

Tarefa comum

Use os artigos a seguir para concluir a tarefa comum dos pacotes ativos do Databricks.

Artigo

Use estes artigos quando quiser…

Databricks ativo Desenvolvimento de pacotes fluxo de trabalho

Saiba mais sobre o fluxo de trabalho para criar, validar, implantar e executar um pacote criando um arquivo databricks.yml e usando a CLI do Databricks para executar o comando databricks bundle validate, databricks bundle deploy e databricks bundle run.

Configurações do pacote ativo do Databricks

Crie um arquivo databricks.yml de pacote configurável e outros arquivos de configuração de pacote configurável relacionados que estejam em conformidade com a sintaxe YAML para configurações de pacote configurável.

Autenticação para pacotes ativos do Databricks

Configure um projeto de pacote para autenticação do Databricks.

Desenvolva um Job no Databricks usando pacotes ativos do Databricks

Crie, implante e execute um pacote para um Job do Databricks.

Desenvolva um pipeline Delta Live Tables usando pacotes ativos do Databricks

Crie, implante e execute um pacote para um pipeline Delta Live Tables.

Pacotes ativos de Databricks para pilhas MLOps

Crie, implante e execute um pacote para uma pilha MLOps.

Dependências da biblioteca do Databricks ativo Bundles

Instale a biblioteca que um pacote precisa para execução em quaisquer clusters Databricks relacionados.

Modos de implantação do pacote ativo do Databricks

Use modos de implantação de pacote, como development e production , para ativar ou desativar automaticamente comportamentos comuns de implantação, como pausar ou retomar programas e gatilhos relacionados.

Databricks ativo Bundle padrão

Use um padrão para tornar a criação de tipos específicos de pacotes mais rápida, fácil e com resultados mais consistentes e repetíveis.

Definir permissões para recurso em Databricks ativo Bundles

Aplique níveis granulares de permissões de acesso a usuários, grupos e entidade de serviço para recursos de pacote específicos.

Definir configurações de artefato dinamicamente em Databricks ativo Bundles

Combine ou substitua configurações específicas de artefatos em um pacote.

execução de um fluxo de trabalho CI/CD com um pacote Databricks ativo e GitHub Actions

implantar ou executar um pacote em resposta a um evento específico do fluxo de trabalho do GitHub, como uma solicitação pull ou merge.

Substituir configurações clusters em pacotes ativos do Databricks

Combine ou substitua configurações específicas para clusters em um pacote.

Adicionar tarefa ao trabalho em Databricks ativo Bundles

Adicione uma tarefa a um Job em um pacote.

Substituir configurações de tarefa Job em pacotes ativos do Databricks

Combine ou substitua configurações específicas da tarefa Job em um pacote.

Desenvolva um arquivo Python wheel usando Databricks ativo Bundles

Crie, implante e chame os arquivos Python wheel em um pacote.