Pular para o conteúdo principal

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 .

dica

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.

nota

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.

  1. 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, por https://1234567890123456.7.gcp.databricks.com exemplo,.

    Bash
    databricks auth login --host <workspace-url>
  2. O site Databricks CLI solicita que o senhor salve as informações inseridas como um Databricks perfil de configuração. Pressione Enter para 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 comando databricks auth env --profile <profile-name>.

  3. No navegador da web, conclua as instruções na tela para fazer log in no workspace do Databricks.

  4. 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 --host e -p juntas 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.

  1. 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.

  2. Use o endereço Databricks CLI para executar o comando bundle init:

    Bash
    databricks bundle init
  3. Para Template to use, deixe o valor default de default-python pressionando Enter.

  4. Para Unique name for this project, deixe o valor default de my_project ou digite um valor diferente e pressione Enter. Isso determina o nome do diretório raiz desse pacote. Esse diretório raiz é criado dentro do seu diretório de trabalho atual.

  5. Para Include a job that runs a notebook, selecione no e pressione Enter. (O notebook de exemplo associado a esta opção não contém código pipeline .)

  6. Para Include an ETL pipeline, deixe o valor default de yes pressionando Enter. Isso adiciona um exemplo de código de pipeline e uma definição de pipeline.

  7. Para Include a stub (sample) Python package, selecione no e pressione Enter.

  8. Para Use serverless, selecione yes e pressione Enter. Isso instrui o Databricks CLI a configurar seu pacote para execução em serverless compute.

  9. Para Default catalog for any tables created by this project [hive_metastore], insira o nome de um catálogo existente do Unity Catalog.

  10. Para Use a personal schema for each user working on this project., selecione yes.

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.yml e resources/<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/ e fixtures/: 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.

  1. A partir do diretório raiz, use a CLI Databricks para executar o comando bundle validate :

    Bash
    databricks bundle validate
  2. 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.

  1. A partir da raiz do pacote, use a CLI Databricks para executar o comando bundle deploy :

    Bash
    databricks bundle deploy --target dev
nota

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.

  1. Confirme se o pacote foi implantado:

    1. Na barra lateral do seu workspace Databricks , clique em espaço de trabalho .
    2. Clique na pasta Users > <your-username> > .bundle e encontre seu projeto de pacote.
  2. Verifique se o pipeline foi criado:

    1. Na barra lateral do site Databricks workspace, clique em Jobs & pipeline .
    2. Opcionalmente, selecione os filtros pipeline e Owned by me .
    3. 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.

  1. A partir do diretório raiz, use a CLI Databricks para executar o comando bundle run , substituindo <project-name> pelo nome do seu projeto:

    Bash
    databricks bundle run --target dev <project-name>_etl
  2. Copie o valor de Update URL que aparece no terminal e cole-o no navegador da Web para abrir o site Databricks workspace.

  3. 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.

  1. A partir do diretório raiz, use a CLI Databricks para executar o comando bundle destroy :

    Bash
    databricks bundle destroy --target dev
  2. Quando solicitado a destruir permanentemente o recurso, o pipeline e as tabelas e visualizações gerenciadas pelo pipeline, digite y e pressione Enter.

  3. Se você também quiser excluir o pacote do seu computador de desenvolvimento, agora pode excluir o diretório local do projeto.