Desenvolva um pipeline declarativo LakeFlow Spark com Databricks Ativo Bundles.
Databricks ativos Bundles, também conhecidos simplesmente como bundles , permitem validar, implantar e executar programaticamente recursos Databricks , como o pipeline declarativo LakeFlow Spark . Veja O que são Databricks Ativo Bundles?.
Esta página descreve como criar um pacote para gerenciar um pipeline programaticamente. Veja o pipeline declarativoLakeFlow Spark. O pacote é criado usando o padrão de Databricks default pacote Python Ativo Bundles , que define um ETL pipeline e um Job para executá-lo. Em seguida, você valida, implanta e executa o pipeline implantado em seu workspace Databricks .
Se você já possui pipelines criados usando a interface de usuário ou API Databricks e deseja migrá-los para bundles, você deve defini-los nos arquivos de configuração do bundle. A Databricks recomenda que você primeiro crie um pacote seguindo os passos abaixo e, em seguida, adicione a configuração e outras fontes ao pacote. Consulte Recuperar uma definição de pipeline existente usando a interface do usuário.
Requisitos
- Databricks CLI versão 0.276.0 ou acima. Para verificar a versão instalada do Databricks CLI, execute o comando
databricks -v. Para instalar a CLI do Databricks, consulte Instalar ou atualizar a CLI do Databricks. - O uv é necessário para executar testes e instalar as dependências deste projeto a partir de uma IDE.
- O site workspace remoto deve ter os arquivos workspace ativados. Consulte O que são arquivos workspace?
- Um catálogo existente para tabelas em pipeline. Consulte Criar catálogos.
(Opcional) Instale um módulo Python para dar suporte ao desenvolvimento do pipeline local
Databricks fornece um módulo Python para auxiliar no desenvolvimento local de código de pipeline declarativo LakeFlow Spark , oferecendo verificação de sintaxe, preenchimento automático e verificação de tipo de dados enquanto você escreve o código em sua IDE.
O módulo Python para desenvolvimento local está disponível no PyPi. Para instalar o módulo, consulte o stub do Python para DLT.
Etapa 1: configurar a autenticação
Primeiro, configure a autenticação entre a CLI Databricks em sua máquina de desenvolvimento e seu workspace Databricks . Esta página pressupõe que você queira usar a autenticação OAuth de usuário para máquina (U2M) e um perfil de configuração Databricks correspondente chamado DEFAULT para autenticação.
A autenticação U2M é adequada para testar essas etapas em tempo real. Para fluxo de trabalho totalmente automatizado, o site Databricks recomenda que o senhor use a autenticação máquina a máquina (M2M) OAuth. Consulte as instruções de configuração da autenticação M2M em Autorize o acesso da entidade de serviço a Databricks com OAuth.
-
Use o comando Databricks CLI para iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando para cada destino workspace.
No comando a seguir, substitua
<workspace-url>pelo Databricks workspace URL da instância, porhttps://1234567890123456.7.gcp.databricks.comexemplo,.Bashdatabricks auth login --host <workspace-url> -
O site Databricks CLI solicita que o senhor salve as informações inseridas como um Databricks perfil de configuração. Pressione
Enterpara aceitar o nome de perfil sugerido ou insira o nome de um perfil novo ou existente. Qualquer perfil existente com o mesmo nome é substituído pelas informações que o senhor inseriu. O senhor pode usar perfis para alternar rapidamente o contexto de autenticação em vários espaços de trabalho.Para obter uma lista de todos os perfis existentes, em um terminal separado ou prompt de comando, use o Databricks CLI para executar o comando
databricks auth profiles. Para view as configurações existentes de um perfil específico, execute o comandodatabricks auth env --profile <profile-name>. -
No navegador da web, conclua as instruções na tela para fazer log in no workspace do Databricks.
-
Para view o valor atual dos tokens OAuth de um perfil e o carimbo de data/hora da próxima expiração dos tokens, 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 você tiver vários perfis com o mesmo valor
--host, talvez seja necessário especificar as opções--hoste-pjuntas para ajudar a CLI do Databricks a encontrar as informações de token OAuth correspondentes corretas.
Etapa 2: criar o pacote
Inicialize um pacote usando o padrão default Python bundle project.
-
Use o terminal ou o prompt do comando para alternar para um diretório em seu computador de desenvolvimento local que conterá o pacote gerado pelo padrão.
-
Use o endereço Databricks CLI para executar o comando
bundle init:Bashdatabricks bundle init -
Para
Template to use, deixe o valor default dedefault-pythonpressionandoEnter. -
Para
Unique name for this project, deixe o valor default demy_projectou digite um valor diferente e pressioneEnter. Isso determina o nome do diretório raiz desse pacote. Esse diretório raiz é criado dentro do seu diretório de trabalho atual. -
Para
Include a job that runs a notebook, selecionenoe pressioneEnter. (O notebook de exemplo associado a esta opção não contém código pipeline .) -
Para
Include an ETL pipeline, deixe o valor default deyespressionandoEnter. Isso adiciona um exemplo de código de pipeline e uma definição de pipeline. -
Para
Include a stub (sample) Python package, selecionenoe pressioneEnter. -
Para
Use serverless, selecioneyese pressioneEnter. Isso instrui o Databricks CLI a configurar seu pacote para execução em serverless compute. -
Para
Default catalog for any tables created by this project [hive_metastore], insira o nome de um catálogo existente do Unity Catalog. -
Para
Use a personal schema for each user working on this project., selecioneyes.
Etapa 3: explore o pacote
Para acessar view os arquivos gerados pelo padrão, vá para o diretório raiz do pacote recém-criado. Os arquivos de interesse particular incluem o seguinte:
databricks.ymlEste arquivo especifica o nome programático do pacote, inclui referências aos arquivos do pacote, define variáveis de catálogo e esquema e especifica as configurações para o espaço de trabalho de destino.resources/sample_job.ymleresources/<project-name>_etl_pipeline.yml: Esses arquivos definem o Job que contém uma tarefa refresh pipeline e as configurações do pipeline. Para obter informações sobre configurações pipeline , consulte pipeline.src/Esta pasta contém os arquivos de origem, explorações e transformações do pipeline de exemplo.tests/efixtures/: Essas pastas contêm testes unitários de exemplo para o pipeline e fixtures para conjuntos de dados.README.md: Este arquivo contém informações adicionais sobre como começar e usar este pacote padrão.
o passo 4: Validar a configuração do pacote
Agora verifique se a configuração do pacote é válida.
-
A partir do diretório raiz, use a CLI Databricks para executar o comando
bundle validate:Bashdatabricks bundle validate -
Se um resumo da configuração do pacote for retornado, a validação foi bem-sucedida. Se algum erro for retornado, corrija-o e repita essa etapa.
o passo 5: implantou o pacote no workspaceremoto
Em seguida, implante o pacote no seu workspace remoto Databricks e verifique o pipeline no seu workspace.
-
A partir da raiz do pacote, use a CLI Databricks para executar o comando
bundle deploy:Bashdatabricks bundle deploy --target dev
O padrão default inclui um Job que executa o pipeline todos os dias, mas isso é pausa para o modo de implantação de destino dev . Consulte Modos de implantação do pacote ativoDatabricks.
-
Confirme se o pacote foi implantado:
- Na barra lateral do seu workspace Databricks , clique em espaço de trabalho .
- Clique na pasta Users >
<your-username>>.bundlee encontre seu projeto de pacote.
-
Verifique se o pipeline foi criado:
- Na barra lateral do site Databricks workspace, clique em Jobs & pipeline .
- Opcionalmente, selecione os filtros pipeline e Owned by me .
- Clique em [dev
<your-username>]<project-name>_etl .
Se você fizer alguma alteração no pacote após essa etapa, repita as etapas 4 a 5 para verificar se a configuração do pacote ainda é válida e, em seguida, reimplantar o projeto.
o passo 6: execução do pipelineimplantado
Agora, inicie a execução do pipeline em seu workspace a partir da linha de comando.
-
A partir do diretório raiz, use a CLI Databricks para executar o comando
bundle run, substituindo<project-name>pelo nome do seu projeto:Bashdatabricks bundle run --target dev <project-name>_etl -
Copie o valor de
Update URLque aparece no terminal e cole-o no navegador da Web para abrir o site Databricks workspace. -
No seu workspace Databricks , após a conclusão bem-sucedida da execução pipeline , clique na visualização materializada para ver os detalhes de cada view.
Se fizer alguma alteração no pacote após essa etapa, repita as etapas de 4 a 6 para verificar se a configuração do pacote ainda é válida, reimplante o projeto e execute o projeto reimplantado.
o passo 7: testes de execução
Por fim, use pytest para executar testes localmente:
uv run pytest
o passo 8: Limpar
Neste passo, você exclui o pacote implantado e o pipeline do seu workspace.
-
A partir do diretório raiz, use a CLI Databricks para executar o comando
bundle destroy:Bashdatabricks bundle destroy --target dev -
Quando solicitado a destruir permanentemente o recurso, o pipeline e as tabelas e visualizações gerenciadas pelo pipeline, digite
ye pressioneEnter. -
Se você também quiser excluir o pacote do seu computador de desenvolvimento, agora pode excluir o diretório local do projeto.