Share via


O que são Pacotes de Ativos do Databricks?

Os Pacotes de Ativos (DABs) do Databricks são uma nova ferramenta para simplificar o desenvolvimento de projetos complexos de dados, análise e ML para a plataforma Databricks. Os pacotes facilitam o gerenciamento 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. Usando pacotes para automatizar testes, implantações e gerenciamento de configuração do projeto, você pode reduzir erros ao promover práticas recomendadas de software em toda a sua organização como projetos modelos.

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

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. Abordaremos o uso da CLI do Databricks neste artigo.

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 utilizada para expressar os Pacote 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. Você pode verificar se a CLI do Databricks está instalada e a versão atual que está usando executando o seguinte comando:

databricks --version

Observação

A CLI do Databricks versão 0.218.0 ou superior é necessária. Para instalar a CLI do Databricks, consulte Instalar ou atualizar a CLI do Databricks.

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.2 (ou posterior), esse recurso deverá ser habilitado por padrão.

Autenticação

O Azure 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 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:

  1. 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>
    
  2. 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 comando databricks auth env --profile <profile-name>.

  3. No seu navegador da Web, complete as instruções na tela para iniciar sessão no seu workspace do Azure Databricks.

  4. 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 comandos databricks bundle validate, databricks bundle deploy, databricks bundle runou databricks bundle destroy. Consulte o fluxo de trabalho de desenvolvimento de Pacotes de Ativos do Databricks.
  • Como o valor do mapeamento profile no mapeamento de nível superior workspace do arquivo de configuração do pacote (embora a Databricks recomende que você use o conjunto de mapeamento host para a URL do espaço de trabalho do Azure Databricks em vez do mapeamento profile, pois torna os arquivos de configuração do pacote mais portáteis). Veja a cobertura do mapeamento profile 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 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 de autenticação M2M do OAuth. Confira Autenticação OAuth M2M (máquina a máquina).

  2. 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.
  3. 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 exemplo https://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. Crie seu primeiro projeto de pacote usando o comando bundle init da CLI do Databricks sem nenhuma opção. Isso apresenta uma escolha 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

As organizações também podem criar modelos de pacotes personalizados para definir seus próprios padrões. Esses padrões podem incluir permissões padrão, princípios de serviço e configuração personalizada de CI/CD. Consulte Modelos de Pacote de Ativos do Databricks.

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

databricks bundle validate

Normalmente, você cria um pacote em um computador de desenvolvimento local com um IDE e a CLI do Databricks versão 0.218.0 ou superior. Essas ferramentas permitem que você crie, valide, implante e execute um pacote. Consulte o fluxo de trabalho de desenvolvimento de Pacotes de Ativos do Databricks.

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

Próximas etapas

Tarefas comuns

Use os artigos a seguir para concluir tarefas comuns para Pacotes de Ativos do Databricks.

Artigo Use esse artigo quando quiser...
Fluxo de trabalho de desenvolvimento de Pacotes de Ativos do Databricks 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 os comandos databricks bundle validate, databricks bundle deploy e databricks bundle run.
Configurações do Pacote de Ativos do Databricks Crie um arquivo databricks.yml do pacote e outros arquivos de configuração de pacote relacionados que estejam em conformidade com a sintaxe YAML para configurações de pacote.
Autenticação para pacotes de ativos do Databricks Configure um projeto de pacote para autenticação do Azure Databricks.
Desenvolver um trabalho no Azure Databricks usando Pacotes de Ativos do Databricks Criar, implantar e executar um pacote para um trabalho do Azure Databricks.
Desenvolver pipelines de Tabelas Dinâmicas Delta com Pacotes de Ativos do Databricks Criar, implantar e executar um pacote para um pipeline de Tabelas Dinâmicas Delta.
Pacotes de Ativos do Databricks para pilhas de MLOps Criar, implantar e executar um pacote para uma pilha de MLOps.
Dependências da biblioteca dos Pacotes de Ativos do Databricks Instalar bibliotecas que um pacote precisa executar em clusters do Azure Databricks relacionados.
Modos de implantação do Pacote de Ativos do Databricks Use modos de implantação de pacote, como development e production para habilitar ou desabilitar automaticamente comportamentos comuns de implantação, como pausar ou não usar agendas e gatilhos relacionados.
Modelos de Pacote de Ativos do Databricks Use um modelo 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 de recursos nos Pacotes de Ativos do Databricks Aplique níveis de permissões de acesso granular a usuários, grupos e entidades de serviço para recursos de pacote específicos.
Definir configurações de artefato dinamicamente em Pacotes de Ativos do Databricks Combine ou substitua configurações específicas para artefatos em um pacote.
Executar um fluxo de trabalho de CI/CD com um Pacote de Ativos do Databricks e GitHub Actions Implante ou execute um pacote em resposta a um evento específico de fluxo de trabalho do GitHub, como uma solicitação de pull ou mesclagem.
Substituir as configurações de cluster nos Pacotes de Ativos do Databricks Combine ou substitua configurações específicas para clusters em um pacote.
Adicionar tarefas a trabalhos em Pacotes de Ativos do Databricks Adicione uma tarefa a um trabalho em um pacote.
Substituir as configurações das tarefas de trabalho nos Pacotes de Ativos do Databricks Combine ou substitua configurações específicas para tarefas de trabalho em um pacote.
Desenvolver um arquivo wheel do Python usando os Pacotes de Ativos do Databricks Compile, implante e chame arquivos wheels do Python em um pacote.

Mais recursos