Compartilhar via


Converter um pipeline em um projeto do Pacote de Ativos do Databricks

Este artigo mostra como converter um pipeline existente em um projeto de Pacotes de Ativos do Databricks . Os pacotes permitem que você defina e gerencie sua configuração de processamento de dados do Azure Databricks em um único arquivo YAML controlado pela origem que fornece uma manutenção mais fácil e permite a implantação automatizada para ambientes de destino.

Visão geral do processo de conversão

Diagrama mostrando as etapas específicas na conversão de um pipeline existente em um pacote

As etapas que você executa para converter um pipeline existente em um pacote são:

  1. Verifique se você tem acesso a um pipeline previamente configurado que quer converter em um pacote.
  2. Crie ou prepare uma pasta (de preferência em uma hierarquia com controle de versão) para armazenar o pacote.
  3. Gere uma configuração para o pacote do pipeline existente usando a CLI do Azure Databricks.
  4. Examine a configuração do pacote gerado para garantir que ela esteja concluída.
  5. Vincule o pacote ao pipeline original.
  6. Implante o pipeline em um workspace de destino usando a configuração do pacote.

Requirements

Antes de começar, você deve ter:

Etapa 1: Configurar uma pasta para seu projeto de pacote

Você deve ter acesso a um repositório Git configurado no Azure Databricks como uma pasta Git. Você criará seu projeto de pacote neste repositório, que aplicará o controle do código-fonte e o disponibilizará a outros colaboradores por meio de uma pasta Git no workspace do Azure Databricks correspondente. (Para obter mais detalhes sobre pastas Git, consulte pastas git do Azure Databricks.)

  1. Vá para a raiz do repositório Git clonado em seu computador local.

  2. Em um local apropriado na hierarquia de pastas, crie uma pasta especificamente para seu projeto de pacote. Por exemplo:

    mkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
    
  3. Altere o diretório de trabalho atual para esta nova pasta. Por exemplo:

    cd ~/source/my-pipelines/ingestion/events/my-bundle
    
  4. Inicialize um novo pacote executando:

    databricks bundle init
    

    Responda às instruções. Após a conclusão, você terá um arquivo de configuração de projeto chamado databricks.yml na nova pasta inicial do projeto. Esse arquivo é necessário para implantar o pipeline na linha de comando. Para obter mais detalhes sobre esse arquivo de configuração, consulte a configuração do Pacote de Ativos do Databricks.

Etapa 2: gerar a configuração do pipeline

Neste novo diretório na árvore de pastas do repositório Git clonado, execute o comando de geração de pacote da CLI do Azure Databricks, fornecendo a ID do pipeline como <pipeline-id>:

databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>

Quando você executa o comando generate, ele cria um arquivo de configuração de pacote para seu pipeline na pasta resources e baixa todos os artefatos referenciados para a pasta src. O --profile (ou -p sinalizador) é opcional, mas se você tiver um perfil de configuração específico do Databricks (definido no .databrickscfg arquivo criado quando instalou a CLI do Azure Databricks) que você prefere usar em vez do perfil padrão, forneça-o neste comando. Para obter informações sobre perfis de configuração do Databricks, consulte os perfis de configuração do Azure Databricks.

Etapa 3: Examinar os arquivos de projeto do pacote

Quando o comando bundle generate for concluído, ele terá criado duas novas pastas:

  • resources é o subdiretório do projeto que contém arquivos de configuração de projeto.
  • src é a pasta do projeto em que os arquivos de origem, como consultas e notebooks, são armazenados.

O comando também cria alguns arquivos adicionais:

  • *.pipeline.yml dentro do subdiretório resources. Este arquivo contém as configurações específicas do seu pipeline.
  • Arquivos de origem, como consultas SQL no src subdiretório, copiados do pipeline existente.
├── databricks.yml                            # Project configuration file created with the bundle init command
├── resources/
│   └── {your-pipeline-name.pipeline}.yml     # Pipeline configuration
└── src/
    └── {source folders and files...}         # Your pipeline's declarative queries

Etapa 4: associar o pipeline de pacote ao pipeline existente

Você deve vincular ou associar a definição de pipeline no pacote ao pipeline existente para mantê-la atualizada à medida que fizer alterações. Para fazer isso, execute o comando bundle deployment bind da CLI do Azure Databricks.

databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>

<pipeline-name> é o nome do pipeline. Esse nome deve ser o mesmo que o valor prefixado no nome do arquivo de configuração do pipeline dentro do novo diretório resources. Por exemplo, se você tiver um arquivo de configuração de pipeline chamado ingestion_data_pipeline.pipeline.yml na pasta resources, deverá fornecer ingestion_data_pipeline como o nome do pipeline.

<pipeline-ID> é a ID do seu pipeline. É a mesma ID que você copiou como parte dos requisitos para estas instruções.

Etapa 5: implantar seu pipeline usando seu novo pacote

Agora, implante seu pacote de pipeline no workspace de destino usando o comando bundle deploy da CLI do Azure Databricks:

databricks bundle deploy --target <target-name> --profile <profile-name>

O sinalizador --target é necessário e deve ser definido como uma cadeia de caracteres que corresponda a um nome de workspace de destino configurado, como development ou production.

Se esse comando for bem-sucedido, agora você terá sua configuração de pipeline em um projeto externo que pode ser carregado em outros workspaces e executado e facilmente compartilhado com outros usuários do Azure Databricks em sua conta.

Resolução de problemas

Questão Solução
Erro "databricks.yml não encontrado" ao executar bundle generate Atualmente, o bundle generate comando não cria o arquivo de configuração do pacote (databricks.yml) automaticamente. Você deve criar o arquivo usando databricks bundle init ou manualmente.
As configurações de pipeline existentes não correspondem aos valores na configuração YAML de pipeline gerada. A ID do pipeline não aparece no arquivo YML de configuração do pacote. Se você observar outras configurações ausentes, poderá aplicá-las manualmente.

Dicas para o sucesso

  • Sempre use o controle de versão. Se você não estiver usando pastas Git do Databricks, armazene seus subdiretórios e arquivos de projeto em um Git ou em outro repositório ou sistema de arquivos controlado por versão.
  • Teste seu pipeline em um ambiente de não produção (como um ambiente de "desenvolvimento" ou "teste") antes de implantá-lo em um ambiente de produção. É fácil introduzir uma configuração incorreta por acidente.

Recursos adicionais

Para obter mais informações sobre como usar pacotes para definir e gerenciar o processamento de dados, consulte: