O que são Pacotes de Ativos do Databricks?
Os Pacotes de Ativos do Databricks (DABs) são uma ferramenta para facilitar a adoção de práticas recomendadas de engenharia de software, incluindo controle do código-fonte, revisão, teste e CI/CD (integração e entrega contínuas), nos seus projetos de dados e IA. Com eles, é possível descrever recursos do Databricks, como trabalhos, 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 oferecem uma maneira 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. A coleção de arquivos e metadados de origem do projeto é implantada como um único pacote para seu ambiente de destino. Um pacote inclui as seguintes partes:
- Configurações necessárias de infraestrutura de nuvem e workspace
- Arquivos de origem, como notebooks e arquivos Python, que incluem a lógica de negócios
- Definições e configurações para recursos do Databricks, como trabalhos do Azure Databricks, pipelines do Delta Live Tables, pontos de extremidade do Serving de Modelo, Experimentos do MLflow e modelos registrados do MLflow
- Testes de unidade e testes de integração
O seguinte diagrama fornece uma exibição de alto nível de um pipeline de CI/CD e desenvolvimento com pacotes:
Quando devo usar pacotes de ativos do Databricks?
Os Pacotes de Ativos do Databricks são uma abordagem IaC (infraestrutura como código) para gerenciar seus projetos do Databricks. Use-os quando quiser gerenciar projetos complexos em que vários colaboradores e automação são essenciais e a CI/CD (integração e implantação contínuas) são um requisito. Como os pacotes são definidos e gerenciados por meio de modelos e arquivos YAML que você cria e mantém junto com o código-fonte, eles mapeiam bem para cenários em que IaC é uma abordagem apropriada.
Alguns cenários ideais para pacotes incluem:
- Desenvolva dados, análises 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 suave e processos simplificados.
- Iterar em problemas de ML mais rapidamente. Gerencie recursos de pipeline de ML (como trabalhos de treinamento e inferência em 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 pacote personalizados que incluem permissões padrão, entidades de serviço e configurações de CI/CD.
- Conformidade regulatória: em setores em que a conformidade regulatória é uma preocupação significativa, os pacotes podem ajudar a manter um histórico com versões de trabalho de código e infraestrutura. Isso auxilia na governança e garante que os padrões de conformidade necessários sejam atendidos.
Como funcionam os Pacotes de Ativos do Databricks?
Os metadados de 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 de 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 trabalhos mais específicos ou complexos, é possível criar modelos de pacotes personalizados para implementar as melhores práticas da sua equipe e manter a consistência das configurações comuns.
Para obter mais detalhes sobre a configuração YAML usada para expressar os Pacotes de Ativos do Databricks, consulte Configurações do Pacote de Ativos do Databricks.
Configure seu ambiente para usar pacotes
Use a CLI do Databricks para implantar facilmente os pacotes a partir da linha de comando. Para instalar a CLI do Databricks, consulte Instalar ou atualizar a CLI do Databricks.
Os Pacotes de Ativos do Databricks estão geralmente disponíveis na CLI do Databricks versão 0.218.0 ou superior. Para encontrar a versão da CLI do Databricks instalada, execute o seguinte comando:
databricks --version
Depois de instalar a CLI do Databricks, verifique se os workspace do Databricks remotos estão configurados corretamente. Os pacotes exigem que o recurso de arquivos de espaço de trabalho esteja ativado, pois esse recurso dá suporte ao trabalho com arquivos diferentes dos Notebooks do Databricks, como os arquivos .py
e .yml
. Se você estiver usando o Databricks Runtime versão 11.3 LTS ou posterior, esse recurso deverá ser habilitado por padrão.
Autenticação
O Azure Databricks fornece vários métodos de autenticação:
- Para cenários de autenticação assistida, como fluxos de trabalho manuais em que você usa seu navegador da Web para fazer login no espaço de trabalho do Azure Databricks de destino (quando solicitado pela CLI do Databricks), use a autenticação usuário-máquina (U2M) do OAuth. Esse método é ideal para experimentar os tutoriais de introdução aos Databricks Asset Bundles ou para o rápido desenvolvimento de pacotes.
- Para cenários de autenticação autônomos, como fluxos de trabalho totalmente automatizados nos quais não há oportunidade de usar seu navegador da Web para fazer login no espaço de trabalho do Azure Databricks de destino naquele momento, use a autenticação máquina a máquina (M2M) do OAuth. Esse método requer a utilização de entidades de serviço Azure Databricks e é ideal para utilizar Databricks Asset Bundles com sistemas CI/CD como GitHub.
Para autenticação OAuth U2M, faça o seguinte:
Use a CLI do Databricks para iniciar o gerenciamento de token OAuth localmente executando o comando a seguir para cada workspace de destino.
No comando a seguir, substitua
<workspace-url>
pela URL por workspace do Azure Databricks, por exemplo,https://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
A CLI do Databricks solicita que você salve as informações inseridas como um perfil de configuração do Azure 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 workspaces.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 visualizar as configurações existentes de um perfil específico, execute o comandodatabricks auth env --profile <profile-name>
.No seu navegador da Web, complete as instruções na tela para iniciar sessão no seu workspace do Azure Databricks.
Para visualizar o valor atual do token OAuth de um perfil e o carimbo de data/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 tiver vários perfis com o mesmo valor
--host
, poderá ter de especificar as opções--host
e-p
em conjunto 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 linha de comando
-p <profile-name>
, acrescentada aos comandosdatabricks bundle validate
,databricks bundle deploy
,databricks bundle run
oudatabricks bundle destroy
. Consulte Desenvolvimento dos Pacotes de Ativos do Databricks. - Como o valor do mapeamento
profile
no mapeamento de nível superiorworkspace
do arquivo de configuração do pacote (embora a Databricks recomende que você use o conjunto de mapeamentohost
para a URL do espaço de trabalho do Azure Databricks em vez do mapeamentoprofile
, pois torna os arquivos de configuração do pacote mais portáteis). Veja a cobertura do mapeamentoprofile
no 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 mapeamentoprofile
(ouhost
) não for especificado.
Para autenticação OAuth M2M, faça o seguinte:
Conclua as instruções de configuração de autenticação M2M do OAuth. Consulte Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
Instale a CLI do Databricks no recurso de computação de destino de uma das seguintes maneiras:
- Para instalar manualmente a CLI do Databricks no recurso de computação em tempo real, veja Instalar ou atualizar a CLI do Databricks.
- Para usar GitHub Actions para instalar automaticamente a CLI do Databricks em uma máquina virtual GitHub, veja setup-cli no GitHub.
- Para usar outros sistemas CI/CD para instalar automaticamente a CLI do Databricks em uma máquina virtual, consulte a documentação do provedor do sistema CI/CD e Instalar ou atualizar a CLI do Databricks.
Defina as seguintes variáveis de ambiente no recurso de computação da seguinte maneira:
DATABRICKS_HOST
, defina a URL por workspace do Azure Databricks, por exemplohttps://adb-1234567890123456.7.azuredatabricks.net
.DATABRICKS_CLIENT_ID
, definido como o valor Application ID da entidade de serviço do Azure Databricks.DATABRICKS_CLIENT_SECRET
, definido como o valor OAuth Segredo da entidade de serviço do Azure Databricks.
Para definir essas variáveis de ambiente, veja a documentação do sistema operacional ou do sistema CI/CD do recurso de computação de destino.
Desenvolva seu primeiro Pacote de Ativos do Databricks
A maneira mais rápida de iniciar o desenvolvimento de pacotes é usando um modelo de projeto de pacotes. Crie seu primeiro projeto de pacotes usando o comando init do pacote na CLI do Databricks. Esse comando apresenta uma seleção de modelos de pacote padrão fornecidos pelo Databricks e faz uma série de perguntas para inicializar as variáveis do projeto.
databricks bundle init
Criar o pacote é a primeira etapa no ciclo de vida de um pacote. A segunda etapa é desenvolver o pacote, um elemento-chave que define as configurações e os recursos do pacote configurável no databricks.yml
e nos arquivos de configuração de recursos. Para obter informações sobre a configuração de pacote, confira Configurações do Pacote de Ativos do Databricks.
Dica
Exemplos de configuração de pacote podem ser encontrados em Exemplos de configuração de pacote e no Repositório de exemplos de pacote no GitHub.
Próximas etapas
- Criar um pacote que implanta um notebook em um workspace do Azure Databricks e executar esse notebook implantado como um trabalho do Azure Databricks. Confira Desenvolver um trabalho no Azure Databricks usando Pacotes de Ativos do Databricks.
- Criar um pacote que implanta um notebook em um workspace do Azure Databricks e, em seguida, executa esse notebook implantado como um pipeline das Tabelas Dinâmicas Delta. Confira Desenvolver pipelines de Tabelas Dinâmicas Delta usando os Pacotes de Ativos do Databricks.
- Criar um pacote que implanta e executa uma Pilha de MLOps. Consulte Pacotes de Ativos do Databricks para Pilhas de MLOps.
- Adicionar um pacote a um fluxo de trabalho de CI/CD (integração contínua/implantação contínua) no GitHub. Consulte Executar um fluxo de trabalho de CI/CD com um Pacote de Ativos do Databricks e o GitHub Actions.
- Crie um pacote que compila, implanta e chama um arquivo wheel do Python. Confira Desenvolver um arquivo wheel do Python usando Pacotes de Ativos do Databricks.
- Crie um modelo personalizado que você e outras pessoas possam usar para criar um pacote. Um modelo personalizado pode incluir permissões padrão, entidades de serviço e configuração personalizada de CI/CD. Confira Modelos de projetos do Pacote de Ativos do Databricks.
- Migrar de dbx para os Pacotes de Ativos do Databricks. Confira Migrar do dbx para os pacotes.
- Descubra os principais recursos mais recentes lançados para os Pacotes de Ativos do Databricks. Confira Notas da versão de recurso dos Pacotes de Ativos do Databricks.