Pular para o conteúdo principal

Desenvolva o pipeline DLT com Databricks ativo Bundles

Databricks Os ativos Bundles , também conhecidos simplesmente como bundles , permitem que o senhor valide, implante e execute de forma programática Databricks recursos como o pipeline DLT. Veja o que são Databricks ativo Bundles?

Este artigo descreve como criar um pacote para gerenciar programaticamente o site pipeline. Consulte O que é DLT? . O pacote é criado usando o Databricks ativo Bundles default bundle padrão para Python, que consiste em um Notebook emparelhado com a definição de um pipeline e um Job para executá-lo. Em seguida, o senhor valida, implanta e executa o implantado pipeline em seu Databricks workspace.

dica

Se o senhor tiver um pipeline existente que foi criado usando a interface de usuário Databricks ou API e quiser transferi-lo para os pacotes, deverá defini-lo nos arquivos de configuração de um pacote. A Databricks recomenda que o senhor crie primeiro um pacote usando as etapas abaixo e, em seguida, valide se o pacote funciona. Em seguida, o senhor pode adicionar outras definições, o Notebook e outras fontes ao pacote. Consulte Adicionar uma definição de pipeline existente a um pacote.

Requisitos

(Opcional) Instale um módulo Python para dar suporte ao desenvolvimento do pipeline local

A Databricks fornece um módulo Python para auxiliar o desenvolvimento local do código do pipeline DLT, fornecendo verificação de sintaxe, preenchimento automático e verificação de tipo de dados à medida que o usuário escreve o código em seu 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.

Criar um pacote usando um padrão de projeto

Crie o pacote usando o padrão Databricks default bundle para Python. Esse padrão consiste em um Notebook que define um DLT pipeline, que filtra os dados do dataset original. Para obter mais informações sobre o padrão bundle, consulte Databricks ativo Bundle project padrão.

Se você quiser criar um pacote do zero, consulte Criar um pacote manualmente.

Etapa 1: configurar a autenticação

Nesta etapa, o senhor configura a autenticação entre o Databricks CLI em sua máquina de desenvolvimento e o Databricks workspace. Este artigo pressupõe que o senhor deseja usar a autenticação OAuth user-to-machine (U2M) e um perfil de configuração Databricks correspondente denominado 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 Autenticação.

  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 ou prompt de comando separado, use a CLI do Databricks para executar o comando databricks auth profiles. Para visualizar 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 visualizar o valor atual do token OAuth de um perfil e o registro de data e hora de expiração do token, 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 stub (sample) notebook, selecione no e pressione Enter. Isso instrui o site Databricks CLI a não adicionar um Notebook de amostra nesse momento, pois o Notebook de amostra associado a essa opção não tem código DLT.

  6. Para Include a stub (sample) DLT pipeline, deixe o valor default de yes pressionando Enter. Isso instrui o site Databricks CLI a adicionar um Notebook de amostra que contenha código DLT.

  7. Para Include a stub (sample) Python package, selecione no e pressione Enter. Isso instrui a CLI da Databricks a não adicionar arquivos de amostra do pacote Python wheel ou instruções de compilação relacionadas ao seu pacote.

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.yml: Esse arquivo especifica o nome programático do pacote, inclui uma referência à definição pipeline e especifica as configurações sobre o destino workspace.
  • resources/<project-name>_job.yml e resources/<project-name>_pipeline.yml: Esses arquivos definem o trabalho que contém uma tarefa pipeline refresh e as configurações do pipeline.
  • src/dlt_pipeline.ipynb: Esse arquivo é um Notebook que, quando executado, executa o pipeline.

Para personalizar o pipeline, os mapeamentos em uma declaração pipeline correspondem à carga útil da solicitação create pipeline operações, conforme definido em POST /api/2.0/pipeline na referência REST API , expressa no formato YAML.

Etapa 4: Validar o arquivo de configuração do pacote do projeto

Nesta etapa, você verifica se a configuração do pacote é válida.

  1. No diretório raiz, use o endereço Databricks CLI para executar o comando bundle validate, como segue:

    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.

Se você fizer alguma alteração em seu pacote após essa etapa, repita essa etapa para verificar se a configuração do pacote ainda é válida.

Etapa 5: implantar o projeto local no projeto remoto workspace

Nesta etapa, o senhor implanta o Notebook local no site remoto Databricks workspace e cria o DLT pipeline no site workspace.

  1. Na raiz do pacote, use o endereço Databricks CLI para executar o comando bundle deploy da seguinte forma:

    Bash
    databricks bundle deploy -t dev
  2. Verifique se o Notebook local foi implantado: Na barra lateral do workspace do Databricks, clique em workspace .

  3. Clique na pasta Users > <your-username> > .bundle > <project-name> > dev > files > src . O Notebook deve estar nessa pasta.

  4. Verifique se o site pipeline foi criado: Na barra lateral do site Databricks workspace , clique em DLT .

  5. No DLT tab, clique em [dev <your-username>] <project-name>pipeline .

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.

Etapa 6: execução do projeto implantado

Nessa etapa, o senhor aciona a execução do DLT pipeline em seu workspace a partir da linha de comando.

  1. No diretório raiz, use o endereço Databricks CLI para executar o comando bundle run, como segue, substituindo <project-name> pelo nome do projeto da Etapa 2:

    Bash
    databricks bundle run -t dev <project-name>_pipeline
  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. Em seu Databricks workspace, depois que o pipeline for concluído com êxito, clique em taxi_raw view e em filtered_taxis materialized view para ver os detalhes.

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.

Etapa 7: limpar

Nesta etapa, o senhor exclui o Notebook implantado e o pipeline do seu workspace.

  1. No diretório raiz, use o endereço Databricks CLI para executar o comando bundle destroy, como segue:

    Bash
    databricks bundle destroy -t dev
  2. Confirme a solicitação de exclusão do pipeline: Quando solicitado a destruir permanentemente o recurso, digite y e pressione Enter.

  3. Confirme a solicitação de exclusão do Notebook: Quando solicitado a destruir permanentemente a pasta implantada anteriormente e todos os seus arquivos, digite y e pressione Enter.

  4. Se você também quiser excluir o pacote da sua máquina de desenvolvimento, agora você pode excluir o diretório local da Etapa 2.

Adicionar uma definição de pipeline existente a um pacote

O senhor pode usar uma definição de pipeline DLT existente como base para definir um novo pipeline em um arquivo de configuração de pacote. Para obter uma definição de pipeline existente, o senhor pode recuperá-la manualmente usando a interface do usuário ou pode gerá-la programaticamente usando a CLI do Databricks.

Obtenha uma definição de pipeline existente usando a interface do usuário

Para obter a representação YAML de uma definição existente do site pipeline na interface do usuário Databricks workspace :

  1. Na barra lateral do site Databricks workspace , clique em fluxo de trabalho .

  2. N o DLT, cl tab pipelineique no link's Name (Nome do ).

  3. Ao lado do botão Desenvolvimento , clique no botão e, em seguida, clique em visualizar configurações YAML .

  4. Copie o YAML da definição do pipeline na caixa de diálogo YAML das configurações do pipeline para a área de transferência local clicando no ícone de cópia.

  5. Adicione o YAML que você copiou ao arquivo databricks.yml do seu pacote ou crie um arquivo de configuração para o pipeline na pasta resources do projeto do pacote e faça referência a ele no arquivo databricks.yml. Ver recurso.

  6. Faça o download e adicione todos os arquivos Python e o Notebook que são referenciados à fonte do projeto do pacote. Normalmente, os artefatos do pacote estão no diretório src em um pacote.

dica

O senhor pode exportar um Notebook existente de um Databricks workspace para o formato .ipynb clicando em File > Export > IPython Notebook na interface do usuário do Databricks Notebook.

Depois de adicionar o Notebook, os arquivos Python e outros artefatos ao pacote, certifique-se de que a definição pipeline os referencie corretamente. Por exemplo, para um Notebook chamado hello.ipynb que está no diretório src/ do pacote:

YAML
resources:
pipelines:
hello-pipeline:
name: hello-pipeline
libraries:
- notebook:
path: ../src/hello.ipynb

Gerar uma definição de pipeline existente usando a CLI da Databricks

Para gerar programaticamente a configuração do pacote para um pipeline existente:

  1. Recupere o ID do site pipeline existente no painel lateral de detalhes do pipeline para o site pipeline na interface do usuário ou use o comando Databricks CLI databricks pipelines list-pipelines.

  2. executar o bundle generate pipeline Databricks CLIcomando, definindo o pipeline ID:

    Bash
    databricks bundle generate pipeline --existing-pipeline-id 6565621249

    Esse comando cria um arquivo de configuração de pacote para o site pipeline na pasta resources do pacote e downloads todos os artefatos referenciados na pasta src.

dica

Se o senhor usar bundle deployment bind pela primeira vez para vincular um recurso em um pacote a um recurso no site workspace, o recurso no site workspace será atualizado com base na configuração definida no pacote ao qual está vinculado após o próximo bundle deploy. Para obter informações sobre bundle deployment bind, consulte Bind bundle recurso.