Pular para o conteúdo principal

O que são os pacotes do Databricks ativo?

Os Databricks Asset Bundles são uma ferramenta para facilitar a adoção das melhores práticas de engenharia de software, incluindo controle de origem, revisão de código, testes e integração e entrega contínuas (CI/CD), para seus projetos de dados e IA. Os pacotes possibilitam descrever os recursos do Databricks, como jobs, pipelines e notebooks, como arquivos de origem. Esses arquivos de origem fornecem uma definição de ponta a ponta de um projeto, incluindo como ele deve ser estruturado, testado e implantado, o que facilita a colaboração em projetos durante o desenvolvimento ativo.

Os pacotes proporcionam uma forma de incluir metadados junto com os arquivos de origem do seu projeto. Quando você implanta um projeto usando pacotes, esses metadados são usados para provisionar a infraestrutura e outros recursos. Então, a coleção de arquivos de origem e metadados de seu projeto é implantada como um único pacote em seu ambiente de destino. Um pacote inclui as seguintes partes:

  • Configurações obrigatórias de infraestrutura de nuvem e espaço de trabalho
  • Arquivos de origem, como notebooks e arquivos Python, que incluem a lógica de negócios
  • Definições e configurações para Databricks recurso, como Databricks Job, DLT pipeline, servindo modelo endpoint, MLflow Experiments e MLflow modelos registrados
  • Testes unitários e testes de integração

O diagrama a seguir fornece uma visão de alto nível de um pipeline de desenvolvimento e CI/CD com pacotes:

Visão geral dos Databricks Asset Bundles

Quando devo usar os pacotes do Databricks ativo?

Os pacotes de ativos do Databricks são uma abordagem de Infrastructure-as-Code (IaC) para gerenciar seus projetos do Databricks. Use-os quando quiser gerenciar projetos complexos em que são essenciais vários colaboradores e automação, e em que a integração e a implantação contínuas (CI/CD) são obrigatórias. Como os pacotes são definidos e gerenciados por meio de modelos e arquivos YAML criados e mantidos junto com o código-fonte, eles se adaptam bem aos cenários em que a IaC é uma abordagem adequada.

Alguns cenários ideais para pacotes incluem:

  • Desenvolva projetos de dados, análises e 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 otimizados.
  • Itere em problemas de ML mais rapidamente. Gerencie recursos de ML pipelines (como jobs de treinamento e inferência em lote) usando projetos de ML que seguem as práticas recomendadas de produção desde o início.
  • Defina padrões organizacionais para novos projetos criando modelos de pacotes personalizados que incluem permissões default, entidades de serviço e configurações de CI/CD.
  • Conformidade regulatória: em setores onde a conformidade regulatória é uma preocupação significativa, os pacotes podem ajudar a manter um histórico de versões do código e do trabalho de infraestrutura. Isso auxilia na governança e garante que os padrões de conformidade necessários sejam atendidos.

Como funcionam os pacotes do 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 do Databricks. Você pode criar esse arquivo YAML manualmente ou gerar um usando um modelo de pacote. A CLI do Databricks pode ser usada para validar, implantar e executar pacotes usando esses arquivos YAML de pacote. Você pode executar projetos em pacotes a partir de IDEs, terminais ou diretamente no Databricks. Este artigo usa a CLI do Databricks.

Os pacotes podem ser criados manualmente ou com base em um modelo. A CLI do Databricks fornece modelos padrão para casos de uso simples, mas para jobs mais específicos ou complexos, você pode criar modelos de pacotes personalizados para implementar as melhores práticas da sua equipe e manter as configurações comuns consistentes.

Para obter mais detalhes sobre a configuração YAML usada para expressar Databricks ativo Bundles, consulte Databricks ativo Bundle configuration.

Configure seu ambiente para usar pacotes

O senhor usa o Databricks CLI para implantar feixes da linha de comando. Para instalar a CLI da Databricks, consulte Instalar ou atualizar a CLI da Databricks.

Databricks Os pacotes ativos estão disponíveis em Databricks CLI versão 0.218.0 ou acima. Para encontrar a versão do Databricks CLI que está instalada, execute o seguinte comando:

sh
databricks --version

Depois de instalar o Databricks CLI, verifique se o espaço de trabalho remoto Databricks está configurado corretamente. Os pacotes exigem que o recurso de arquivos workspace esteja ativado. Se o senhor estiver usando Databricks Runtime versão 11.3 LTS ou acima, esse recurso é ativado por default.

Autenticação

A Databricks oferece vários métodos de autenticação:

  • Para cenários de autenticação assistida , como fluxos de trabalho manuais em que o usuário usa o navegador da Web para fazer login no workspace de destino do Databricks (quando solicitado pela CLI do Databricks), use a autenticação OAuth user-to-machine (U2M). Este método é ideal para experimentar os tutoriais de introdução aos Databricks Asset Bundles ou para o desenvolvimento rápido de pacotes.
  • Para cenários de autenticação não supervisionada , como fluxos de trabalho totalmente automatizados em que você não tem a oportunidade de usar seu navegador da web para fazer login em sua área de trabalho do Databricks de destino naquele momento, use a autenticação OAuth machine-to-machine (M2M). Este método requer o uso de entidades de serviço do Databricks e é ideal para usar Databricks Asset Bundles com sistemas de CI/CD como o GitHub.

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

  1. Use o comando Databricks CLI para iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando para cada destino workspace.

    No comando a seguir, substitua <workspace-url> pelo Databricks workspace URL da instância, por https://dbc-a1b2345c-d6e7.cloud.databricks.com exemplo,.

    Bash
    databricks auth login --host <workspace-url>
  2. O site Databricks CLI solicita que o senhor salve as informações inseridas como um Databricks perfil de configuração. Pressione Enter para aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelas informações que o senhor inseriu. O senhor pode usar perfis para alternar rapidamente o contexto de autenticação em vários espaços de trabalho.

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

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

  4. Para visualizar o valor atual do token OAuth de um perfil e o registro de data e hora de expiração do token, 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 de token 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:

  • Com a opção de comando-line -p <profile-name>, anexada ao comando databricks bundle validate, databricks bundle deploy, databricks bundle run, ou databricks bundle destroy. Consulte Databricks ativo Bundles development.
  • Como o valor do mapeamento profile no mapeamento workspace de nível superior do arquivo de configuração do pacote (embora o site Databricks recomende que o senhor use o mapeamento host definido para o URL Databricks workspaceem vez do mapeamento profile, pois isso torna os arquivos de configuração do pacote mais portáteis). Veja a cobertura do mapeamento profile em workspace.
  • Se o nome do perfil de configuração for DEFAULT, ele será usado por padrão quando a opção de linha de comando -p <profile-name> ou o mapeamento profile (ou host) não for especificado.

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

  1. Conclua as instruções de configuração da autenticação OAuth M2M. Consulte Autorizar o acesso autônomo a Databricks recurso com uma entidade de serviço usando OAuth.

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

    • Para instalar manualmente o Databricks CLI no compute recurso in tempo real, consulte Instalar ou atualizar o Databricks CLI .
    • Para usar o GitHub Actions para instalar automaticamente a CLI do Databricks em uma máquina virtual do GitHub, consulte setup-cli no GitHub.
    • Para usar outros sistemas de CI/CD para instalar automaticamente a CLI da Databricks em uma máquina virtual, consulte a documentação do provedor do sistema de CI/CD e Instalar ou atualizar a CLI da Databricks.
  3. Defina as seguintes variáveis de ambiente no recurso de compute da seguinte forma:

    • DATABRICKS_HOST, definido como o Databricks workspace URL da instância, por https://dbc-a1b2345c-d6e7.cloud.databricks.com exemplo,.
    • DATABRICKS_CLIENT_ID, definido como o valor da ID do aplicativo do responsável pelo serviço do Databricks.
    • DATABRICKS_CLIENT_SECRET, definido como o valor do Segredo do 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 de CI/CD do recurso de compute de destino.

Desenvolva seu primeiro Databricks ativo Bundle

A maneira mais rápida de iniciar o desenvolvimento de pacotes é usar um padrão de projeto de pacote. Crie seu primeiro projeto de pacote usando o comando Databricks CLI bundle init. Esse comando apresenta uma opção de Databricks- fornecida pelo default bundle padrão - e faz uma série de perguntas para inicializar as variáveis do projeto.

sh
databricks bundle init

Criar seu pacote é a primeira etapa no ciclo de vida de um pacote. A segunda etapa é o desenvolvimento do pacote, um elemento key do qual é a definição das configurações do pacote e do recurso nos arquivos de configuração databricks.yml e recurso. Para obter informações sobre a configuração do pacote, consulte Databricks ativo Bundle configuration.

dica

Os exemplos de configuração do pacote podem ser encontrados em Exemplos de configuração do pacote e no repositório de exemplos do pacote no GitHub.

Próximas etapas