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.
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
- Databricks CLI versão 0.218.0 ou acima. Para verificar a versão instalada do site Databricks CLI, execute o comando
databricks -v
. Para instalar a CLI da Databricks, consulte Instalar ou atualizar a CLI da Databricks. - O site workspace remoto deve ter os arquivos workspace ativados. Consulte O que são arquivos workspace?
(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.
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.
-
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://dbc-a1b2345c-d6e7.cloud.databricks.com
exemplo,.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
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 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 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.
-
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-python
pressionandoEnter
. -
Para
Unique name for this project
, deixe o valor default demy_project
ou 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 stub (sample) notebook
, selecioneno
e pressioneEnter
. 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. -
Para
Include a stub (sample) DLT pipeline
, deixe o valor default deyes
pressionandoEnter
. Isso instrui o site Databricks CLI a adicionar um Notebook de amostra que contenha código DLT. -
Para
Include a stub (sample) Python package
, selecioneno
e pressioneEnter
. 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
eresources/<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.
-
No diretório raiz, use o endereço Databricks CLI para executar o comando
bundle validate
, como segue: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.
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.
-
Na raiz do pacote, use o endereço Databricks CLI para executar o comando
bundle deploy
da seguinte forma:Bashdatabricks bundle deploy -t dev
-
Verifique se o Notebook local foi implantado: Na barra lateral do workspace do Databricks, clique em workspace .
-
Clique na pasta Users >
<your-username>
> .bundle ><project-name>
> dev > files > src . O Notebook deve estar nessa pasta. -
Verifique se o site pipeline foi criado: Na barra lateral do site Databricks workspace , clique em DLT .
-
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.
-
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:Bashdatabricks bundle run -t dev <project-name>_pipeline
-
Copie o valor de
Update URL
que aparece no terminal e cole-o no navegador da Web para abrir o site Databricks workspace. -
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.
-
No diretório raiz, use o endereço Databricks CLI para executar o comando
bundle destroy
, como segue:Bashdatabricks bundle destroy -t dev
-
Confirme a solicitação de exclusão do pipeline: Quando solicitado a destruir permanentemente o recurso, digite
y
e pressioneEnter
. -
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 pressioneEnter
. -
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.
Para obter um tutorial que mostra como converter um DLT pipeline existente em um projeto Databricks ativo Bundles, consulte Converter um DLT pipeline em um projeto Databricks ativo Bundle.
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 :
-
Na barra lateral do site Databricks workspace , clique em fluxo de trabalho .
-
N o DLT, cl tab pipelineique no link's Name (Nome do ).
-
Ao lado do botão Desenvolvimento , clique no botão e, em seguida, clique em visualizar configurações YAML .
-
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.
-
Adicione o YAML que você copiou ao arquivo
databricks.yml
do seu pacote ou crie um arquivo de configuração para o pipeline na pastaresources
do projeto do pacote e faça referência a ele no arquivodatabricks.yml
. Ver recurso. -
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.
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:
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:
-
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
. -
executar o
bundle generate pipeline
Databricks CLIcomando, definindo o pipeline ID:Bashdatabricks 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 pastasrc
.
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.