Partilhar via


Converter um pipeline num projeto de Pacote de Recursos do Databricks

Este artigo mostra como converter um pipeline existente em um projeto Databricks Asset Bundles . 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 fonte que fornece manutenção mais fácil e permite a implantação automatizada em 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. Certifique-se de que tem acesso a uma pipeline configurada anteriormente que deseja converter num pacote.
  2. Crie ou prepare uma pasta (de preferência em uma hierarquia controlada pelo código-fonte) para armazenar o pacote.
  3. Gere uma configuração para o pacote a partir do pipeline existente, usando a CLI do Azure Databricks.
  4. Analise a configuração do pacote gerado para garantir que ela esteja completa.
  5. Vincule o pacote ao pipeline original.
  6. Implante o pipeline em um espaço de trabalho de destino usando a configuração do pacote.

Requerimentos

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á para outros colaboradores por meio de uma pasta Git no espaço de trabalho correspondente do Azure Databricks. (Para obter mais detalhes sobre pastas Git, consulte Pastas Git do Azure Databricks.)

  1. Vá para a raiz do repositório Git clonado em sua máquina 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. Quando ele for concluído, você terá um arquivo de configuração do projeto chamado databricks.yml na nova pasta base do seu projeto. Esse arquivo é necessário para implantar seu pipeline a partir da linha de comando. Para obter mais detalhes sobre este arquivo de configuração, consulte a configuração do Databricks Asset Bundle .

Etapa 2: Gerar a configuração do pipeline

A partir desse novo diretório na árvore de pastas do repositório Git clonado, execute o comando Azure Databricks CLI bundle generate , fornecendo a ID do seu pipeline como <pipeline-id>:

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

Quando executa o comando generate, ele cria um ficheiro de configuração de pacote para o seu pipeline na pasta do pacote resources e baixa 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 em seu .databrickscfg arquivo criado quando você instalou a CLI do Azure Databricks) que preferiria usar em vez do perfil padrão, forneça-o neste comando. Para obter informações sobre perfis de configuração do Databricks, consulte Perfis de configuração do Azure Databricks.

Etapa 3: Revise 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 os arquivos de configuração do projeto.
  • src é a pasta do projeto onde os arquivos de origem, como consultas e blocos de anotações, são armazenados.

O comando também cria alguns arquivos adicionais:

  • *.pipeline.yml sob o subdiretório resources. Este arquivo contém a configuração e as definições específicas para seu pipeline.
  • Ficheiros de origem, como consultas SQL no subdiretório src, copiados do seu 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

Passo 4: Ligar o fluxo de agrupamento ao fluxo de trabalho existente

Você deve vincular ou vincular a definição de pipeline no pacote ao pipeline existente para mantê-lo atualizado à medida que faz alterações. Para fazer isso, execute o comando Azure Databricks CLI bundle deployment bind:

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

<pipeline-name> é o nome do gasoduto. Esse nome deve ser o mesmo que o valor da cadeia de caracteres prefixada do nome do arquivo para a configuração do pipeline no novo diretório resources. Por exemplo, se você tiver um arquivo de configuração de pipeline chamado ingestion_data_pipeline.pipeline.yml em sua pasta resources, deverá fornecêingestion_data_pipeline como o nome do pipeline.

<pipeline-ID> é o ID do seu pipeline. É o mesmo que copiaste como parte dos requisitos para estas instruções.

Etapa 5: Implementar o seu pipeline usando o seu novo pacote

Agora, implante seu pacote de pipeline em seu espaço de trabalho de destino usando o comando Azure Databricks CLI bundle deploy:

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

O sinalizador --target é obrigatório e deve ser definido como uma cadeia de caracteres que corresponda a um nome de espaço de trabalho de destino configurado, como development ou production.

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

Soluçã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 do pipeline gerado O ID do pipeline não aparece no arquivo YML de configuração do pacote. Se você notar outras configurações ausentes, poderá aplicá-las manualmente.

Dicas para o sucesso

  • Use sempre o controle de versão. Se você não estiver usando pastas do Databricks Git, armazene seus subdiretórios e arquivos do projeto em um Git ou outro repositório ou sistema de arquivos controlado por versão.
  • Teste seu pipeline em um ambiente que não seja de 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: