Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
As etapas que você executa para converter um pipeline existente em um pacote são:
- Certifique-se de que tem acesso a uma pipeline configurada anteriormente que deseja converter num pacote.
- Crie ou prepare uma pasta (de preferência em uma hierarquia controlada pelo código-fonte) para armazenar o pacote.
- Gere uma configuração para o pacote a partir do pipeline existente, usando a CLI do Azure Databricks.
- Analise a configuração do pacote gerado para garantir que ela esteja completa.
- Vincule o pacote ao pipeline original.
- 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:
- A CLI do Databricks instalada na sua máquina de desenvolvimento local. A CLI do Databricks versão 0.218.0 ou superior é necessária para usar o Databricks Asset Bundles.
- A ID de um pipeline declarativo existente que você gerenciará com um pacote. Para saber como obter essa ID, consulte Obter uma definição de pipeline existente usando a interface do usuário.
- Autorização para o espaço de trabalho do Azure Databricks onde é executado o pipeline existente. Para configurar a autenticação e a autorização para suas chamadas da CLI do Azure Databricks, consulte Autorizar o acesso aos recursos do Azure Databricks.
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.)
Vá para a raiz do repositório Git clonado em sua máquina local.
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-bundleAltere o diretório de trabalho atual para esta nova pasta. Por exemplo:
cd ~/source/my-pipelines/ingestion/events/my-bundleInicialize um novo pacote executando:
databricks bundle initResponda às instruções. Quando ele for concluído, você terá um arquivo de configuração do projeto chamado
databricks.ymlna 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.ymlsob o subdiretórioresources. 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:
- O que são Databricks Asset Bundles?
- Desenvolva pipelines declarativos do Lakeflow Spark com pacotes de ativos Databricks. Este tópico aborda a criação de um pacote para um novo pipeline em vez de um existente, com arquivos de origem controlados por versão para processamento que você fornece.