Converter o pipeline declarativo LakeFlow em um projeto de pacote ativo Databricks
Este artigo mostra como converter um pipeline existente em um projeto Databricks ativo Bundles. Os pacotes permitem que o senhor defina e gerencie sua configuração de processamento de dados do Databricks em um único arquivo YAML controlado por fonte, o que facilita a manutenção e permite a implementação automatizada em ambientes de destino.
Visão geral do processo de conversão
As etapas que o senhor executa para converter um pipeline existente em um pacote são:
- Verifique se o senhor tem acesso a um pipeline configurado anteriormente que deseja converter em um pacote.
- Crie ou prepare uma pasta (de preferência em uma hierarquia controlada pela fonte) para armazenar o pacote.
- Gerar uma configuração para o pacote a partir do pipeline existente, usando a CLI do Databricks.
- Revise a configuração do pacote gerado para garantir que ela esteja completa.
- Vincule o pacote ao pipeline original.
- Implantado o pipeline em um workspace de destino usando a configuração do pacote.
Requisitos
Antes de começar, o senhor deve ter:
- A CLI da Databricks instalada em sua máquina de desenvolvimento local. Databricks CLI versão 0.218.0 ou acima é necessário para usar o Databricks ativo Bundles.
- O ID de um pipeline declarativo existente que o senhor gerenciará com um pacote. Para saber como o senhor obtém essa ID, consulte Obter uma definição de pipeline existente usando a interface do usuário.
- Autorização para a Databricks workspace onde a pipeline execução existente. Para configurar a autenticação e a autorização para suas chamadas Databricks CLI , consulte Autorização de acesso ao recurso Databricks.
Etapa 1: configure uma pasta para seu projeto de pacote
É necessário ter acesso a um repositório Git configurado no Databricks como uma pasta Git. Você criará seu projeto de pacote neste repositório, que aplicará o controle de origem e o disponibilizará para outros colaboradores por meio de uma pasta Git no Databricks workspace correspondente. (Para obter mais detalhes sobre pastas Git, consulte O que são pastas Git do Databricks.)
-
Vá para a raiz do repositório Git clonado em seu computador local.
-
Em um local apropriado na hierarquia de pastas, crie uma pasta específica para seu projeto de pacote. Por exemplo:
Bashmkdir - p ~/source/my-pipelines/ingestion/events/my-bundle
-
Altere seu diretório de trabalho atual para essa nova pasta. Por exemplo:
Bashcd ~/source/my-pipelines/ingestion/events/my-bundle
-
Inicialize um novo pacote executando
databricks bundle init
e respondendo às solicitações. Após a conclusão, o senhor terá um arquivo de configuração de projeto chamadodatabricks.yml
na nova pasta de origem do seu projeto. Esse arquivo é necessário para implantar o site pipeline a partir da linha de comando. Para obter mais detalhes sobre esse arquivo de configuração, consulte Databricks ativo Bundle configuration.
Etapa 2: gerar a configuração do pipeline
A partir desse novo diretório Git na árvore de pastas do repositório clonado, execute Databricks CLI o comando bundle generate comando, fornecendo o ID do pipeline seu <pipeline-id>
como:
databricks bundle generate pipeline --existing-pipeline-id <pipeline-id> --profile <profile-name>
Quando o senhor executa o comando generate
, ele cria um arquivo de configuração de pacote para o seu pipeline na pasta resources
do pacote e downloads todos os artefatos referenciados na pasta src
. O sinalizador --profile
(ou -p
) é opcional, mas se o senhor tiver um perfil de configuração Databricks específico (definido no arquivo .databrickscfg
criado quando instalou o Databricks CLI) que prefira usar em vez do perfil default, forneça-o nesse comando. Para obter informações sobre os perfis de configuração do site Databricks, consulte Databricks configuration profiles.
Etapa 3: Revise os arquivos do projeto do pacote
Quando o comando bundle generate
for concluído, ele terá criado duas novas pastas:
resources
is é o subdiretório do projeto que contém os arquivos de configuração do projeto.src
é a pasta do projeto em que os arquivos de origem, como consultas e Notebook, são armazenados.
O comando também cria alguns arquivos adicionais:
*.pipeline.yml
no subdiretórioresources
. Esse arquivo contém a configuração e as definições específicas do seu pipeline.- Arquivos de origem, como consultas SQL, no subdiretório
src
, copiados do pipeline existente.
├── databricks.yml # Project configuration file created with the bundle init command
├── resources/
│ └── {your-pipeline-name.pipeline}.yml # Pipeline configuration
└── src/
└── {SQl-query-retrieved-from-your-existing-pipeline}.sql # Your pipeline's declarative query
Etapa 4: vincular o pipeline do pacote ao pipeline existente
O senhor deve vincular ou associar a definição do pipeline no pacote ao pipeline existente para mantê-lo atualizado à medida que fizer alterações. Para fazer isso, execute Databricks CLI o comando bundle deployment bind:
databricks bundle deployment bind <pipeline-name> <pipeline-ID> --profile <profile-name>
<pipeline-name>
é o nome do pipeline. Esse nome deve ser igual ao valor de strings prefixado do nome do arquivo para a configuração pipeline em seu novo diretório resources
. Por exemplo, se o senhor tiver um arquivo de configuração de pipeline chamado ingestion_data_pipeline.pipeline.yml
na pasta resources
, deverá fornecer ingestion_data_pipeline
como nome do pipeline.
<pipeline-ID>
é o ID do seu pipeline. É o mesmo que você copiou como parte dos requisitos dessas instruções.
Etapa 5: Implante o site pipeline usando o novo pacote
Agora, implante o pipeline pacote em seu destino workspace usando o Databricks CLI comando bundle implantado:
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 destino workspace configurado, como development
ou production
.
Se esse comando for bem-sucedido, o senhor terá sua configuração do pipeline em um projeto externo que pode ser carregado em outro espaço de trabalho e executado, e facilmente compartilhado com outros usuários do Databricks em seu account.
Solução de problemas
Problema | soluções |
---|---|
Erro “ | Atualmente, o comando |
As configurações existentes do pipeline não correspondem aos valores da configuração YAML do pipeline gerado | A ID do pipeline não aparece no arquivo YML de configuração do pacote. Se você notar alguma outra configuração ausente, poderá aplicá-la manualmente. |
Dicas para o sucesso
- Sempre use o controle de versão. Se não estiver usando as pastas Git do Databricks, armazene os subdiretórios e arquivos do projeto em um Git ou outro repositório ou sistema de arquivos controlado por versão.
- Teste o site 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.
Recurso adicional
Para obter mais informações sobre o uso de pacotes para definir e gerenciar o processamento de dados, consulte:
- Consulte O que são Pacotes de Ativos do Databricks?
- Desenvolva o pipeline declarativo LakeFlow com os pacotes ativos Databricks. Este tópico aborda a criação de um pacote para um novo pipeline em vez de um existente, com um Notebook controlado por fonte para processamento fornecido pelo senhor.