Desenvolva um arquivo Python wheel usando Databricks ativo Bundles
Este artigo descreve como criar, implantar e executar um arquivo Python wheel como parte de um projeto Databricks ativo Bundle. Veja o que são Databricks ativo Bundles?
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 workspace remoto deve ter arquivos workspace ativados. Consulte O que são arquivos de espaço de trabalho?.
Decisão: Criar o pacote manualmente ou usando um padrão
Decida se deseja criar um pacote inicial usando um padrão ou criar o pacote manualmente. Criar o pacote configurável usando um modelo é mais rápido e fácil, mas o pacote configurável pode produzir conteúdo desnecessário e as configurações default do pacote configurável devem ser ainda mais customizadas para aplicativos reais. A criação manual do pacote oferece controle total sobre as configurações do pacote, mas você deve estar familiarizado com o funcionamento dos pacotes, pois fará todo o trabalho desde o início. Escolha um dos seguintes conjuntos de passos:
Crie o pacote usando um padrão
Nesses passos, o senhor cria o pacote usando o padrão Databricks default bundle para Python. Esses passos orientam o senhor a criar um pacote que consiste em arquivos a serem construídos em um arquivo Python wheel e a definição de um Databricks Job para construir esse arquivo Python wheel. Em seguida, o senhor valida, implanta e cria os arquivos implantados em um arquivo Python wheel a partir do Python wheel Job dentro do seu Databricks workspace.
O padrão de pacote Databricks default para Python usa setuptools para criar o arquivo Python wheel. Se quiser usar o Poetry para criar o arquivo Python wheel, siga as instruções mais adiante nesta seção para swap a implementação setuptools
para uma implementação Poetry.
o passo 1: Configurar autenticação
Neste passo, o senhor configura a autenticação entre a CLI da Databricks em sua máquina de desenvolvimento e a 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 do Databricks correspondente denominado DEFAULT
para autenticação.
Observação
A autenticação U2M é adequada para experimentar esses passos em tempo real. Para um fluxo de trabalho totalmente automatizado, a Databricks recomenda que o senhor use a autenticação OAuth máquina a máquina (M2M). Consulte as instruções de configuração da autenticação M2M em Autenticação.
Use a CLI do Databricks para iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando para cada destino workspace.
No comando a seguir, substitua
<workspace-url>
pelo URL da instância do workspace do Databricks, por exemplo,https://dbc-a1b2345c-d6e7.cloud.databricks.com
.databricks 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 separado ou prompt de comando, use a CLI do Databricks 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, siga as instruções na tela para acessar o site log in da Databricks workspace.
Para view o valor atual dos tokens OAuth de um perfil e a data de expiração futura 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 o senhor 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 da Databricks a encontrar as informações corretas dos tokens OAuth correspondentes.
o passo 2: Crie o pacote
Um pacote contém os artefatos que você deseja implantar e as configurações para o fluxo de trabalho que você deseja executar.
Use seu terminal ou prompt de comando para mudar para um diretório em sua máquina de desenvolvimento local que conterá o pacote gerado pelo padrão.
Use a versão Databricks CLI para executar o comando
bundle init
:databricks bundle init
Para
Template to use
, deixe o valor default dedefault-python
pressionandoEnter
.Para
Unique name for this project
, deixe o valor defaultmy_project
ou digite um valor diferente e pressioneEnter
. Isso determina o nome do diretório raiz deste pacote configurável. Este diretório raiz é criado dentro do seu diretório de trabalho atual.Para
Include a stub (sample) notebook
, selecioneno
e pressioneEnter
. Isto instrui a CLI do Databricks a não adicionar um Notebook de amostra ao seu pacote.Para
Include a stub (sample) DLT pipeline
, selecioneno
e pressioneEnter
. Isto instrui a CLI do Databricks a não definir um exemplo de pipeline Delta Live Tables no seu pacote.Para
Include a stub (sample) Python package
, deixe o valor default deyes
pressionandoEnter
. Isto instrui a CLI do Databricks a adicionar arquivos de pacote Python wheel de amostra e instruções de construção relacionadas ao seu pacote.
o passo 3: Explore o pacote
Para view os arquivos que o padrão gerou, mude para o diretório raiz do seu pacote recém-criado e abra este diretório com seu IDE preferido, por exemplo Visual Studio Code. Arquivos de interesse particular incluem o seguinte:
databricks.yml
: este arquivo especifica o nome programático do pacote configurável, inclui uma referência à definição Job Python wheel e especifica configurações sobre o workspace de destino.resources/<project-name>_job.yml
: Este arquivo especifica as configurações do Job Python wheel .src/<project-name>
: Esse diretório inclui os arquivos que o Python wheel Job usa para criar o arquivo Python wheel.
Observação
Se quiser instalar o arquivo Python wheel em um destino cluster que tenha Databricks Runtime 12.2 LTS ou abaixo instalado, o senhor deve adicionar o seguinte mapeamento de nível superior ao arquivo databricks.yml
:
# Applies to all tasks of type python_wheel_task.
experimental:
python_wheel_wrapper: true
Este mapeamento instrui a CLI do Databricks a fazer o seguinte:
implantado uma cópia do arquivo Python wheel em segundo plano. Esse caminho de implementação é normalmente
${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
.Crie um Notebook em segundo plano que contenha instruções para instalar o arquivo Python wheel implantado anteriormente no destino cluster. Esse caminho de Notebooké normalmente
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
.Quando o senhor executa um Job que contém uma tarefa Python wheel e essa tarefa faz referência ao arquivo Python wheel anterior, é criado um Job em segundo plano que executa o Notebook anterior.
Não é necessário especificar este mapeamento para clusters de destino com o Databricks Runtime 13.1 ou acima instalado, pois as instalações Python wheel do sistema de arquivos workspace do Databricks serão instaladas automaticamente nesses clusters de destino.
o passo 4: Atualize o pacote do projeto para usar Poetry
Em default, o pacote padrão especifica a criação do arquivo Python wheel usando setuptools
junto com os arquivos setup.py
e requirements-dev.txt
. Se quiser manter esse padrão, pule para o passo 5: Validar o arquivo de configuração do pacote do projeto.
Para atualizar o pacote do projeto para usar Poetry em vez de setuptools
, certifique-se de que sua máquina de desenvolvimento local atenda aos seguintes requisitos:
Poetry versão 1.6 ou acima. Para verificar sua versão instalada do Poetry, execute o comando
poetry -V
oupoetry --version
. Para instalar ou atualizar o Poetry, consulte Instalação.Python versão 3.10 ou acima. Para verificar sua versão do Python, execute o comando
python -V
oupython --version
.Databricks CLI versão 0.209.0 ou acima. Para sua versão da CLI do Databricks, execute o comando
databricks -v
oudatabricks --version
. Consulte Instalar ou atualizar a CLI do Databricks.
Faça as seguintes alterações no pacote configurável do projeto:
No diretório raiz do pacote, instrua
poetry
para inicializar as compilações Python wheel para Poetry, executando o seguinte comando:poetry init
Poetry exibe vários prompts para você completar. Para as compilações Python wheel , responda a esses prompts da seguinte maneira para corresponder às configurações default relacionadas no pacote configurável do projeto:
Para
Package name
, digite o nome da pasta filha em/src
e pressioneEnter
. Este também deve ser o valorname
do pacote definido no arquivosetup.py
do pacote configurável.Para
Version
, digite0.0.1
e pressioneEnter
. Isso corresponde ao número da versão definido no arquivosrc/<project-name>/__init__.py
do pacote configurável.Para
Description
, digitewheel file based on <project-name>/src
(substituindo<project-name>
pelo nome do projeto) e pressioneEnter
. Isso corresponde ao valordescription
definido no arquivosetup.py
do padrão.Para
Author
, pressioneEnter
. Este valor default corresponde ao autor definido no arquivosetup.py
do modelo.Para
License
, pressioneEnter
. Não há licença definida no padrão.Para
Compatible Python versions
, insira a versão do Python que corresponde àquela nos clusters do Databricks de destino (por exemplo,^3.10
) e pressioneEnter
.Para
Would you like to define your main dependencies interactively?
Digiteno
e pressioneEnter
. Você definirá suas dependências posteriormente.Para
Would you like to define your development dependencies interactively?
Digiteno
e pressioneEnter
. Você definirá suas dependências posteriormente.Para
Do you confirm generation?
PressioneEnter
.
Depois de concluir as solicitações, o Poetry adiciona um arquivo
pyproject.toml
ao projeto do pacote. Para obter informações sobre o arquivopyproject.toml
, consulte O arquivo pyproject.toml.No diretório raiz do pacote configurável, instrua
poetry
para ler o arquivopyproject.toml
, resolver as dependências e instalá-las, criar um arquivopoetry.lock
para bloquear as dependências e, finalmente, criar um ambiente virtual. Para fazer isso, execute o seguinte comando:poetry install
Adicione a seguinte seção ao final do arquivo
pyproject.toml
, substituindo<project-name>
pelo nome do diretório que contém o arquivosrc/<project-name>/main.py
(por exemplo,my_project
):[tool.poetry.scripts] main = "<project-name>.main:main"
A seção especifica o Python wheelponto de entrada da para o Python wheel Job.
Adicione o seguinte mapeamento no nível superior do arquivo
databricks.yml
do pacote:artifacts: default: type: whl build: poetry build path: .
Esse mapeamento instrui o Databricks CLI a usar o Poetry para criar um arquivo Python wheel.
Exclua os arquivos
setup.py
erequirements-dev.txt
do pacote, pois o Poetry não precisa deles.
o passo 5: Valide o arquivo de configuração do pacote configurável do projeto
Neste passo, você verifica se a configuração do pacote é válida.
No diretório raiz, use a CLI do Databricks para executar o comando
bundle validate
, da seguinte maneira:databricks bundle validate
Se um resumo da configuração do pacote for retornado, a validação foi bem-sucedida. Se algum erro for retornado, corrija os erros e repita este passo.
Se você fizer alguma alteração em seu pacote após este passo, você deve repetir este passo para verificar se a configuração do seu pacote ainda é válida.
o passo 6: Crie o arquivo Python wheel e implante o projeto local no remoto workspace
Neste passo, o senhor constrói o arquivo Python wheel, implanta o arquivo Python wheel construído no seu Databricks workspace remoto e cria o Databricks Job dentro do seu workspace.
Se você usar
setuptools
, instale o pacotewheel
esetuptools
caso ainda não tenha feito isso, executando o seguinte comando:pip3 install --upgrade wheel setuptools
No terminal do Visual Studio Code, use a CLI do Databricks para executar o comando
bundle deploy
da seguinte maneira:databricks bundle deploy -t dev
Se o senhor quiser verificar se o arquivo Python wheel criado localmente foi implantado:
Na barra lateral do workspacedo Databricks, clique em workspace.
Clique na seguinte pasta: workspace > Users >
<your-username>
> .bundle ><project-name>
> dev > artefatos > .internal ><random-guid>
.
O arquivo Python wheel deve estar nessa pasta.
Se você quiser verificar se o Job foi criado:
Na barra lateral do seu workspacedo Databricks, clique em fluxo de trabalho.
Na Trabalhos tab, clique em [dev
<your-username>
]<project-name>
Job.Clique na aba Tarefas.
Deve haver uma tarefa: main_task.
Se você fizer alguma alteração em seu pacote após esta etapa, repita as etapas 5 a 6 para verificar se a configuração do pacote ainda é válida e, em seguida, reimplantar o projeto.
o passo 7: execução do projeto implantado
Nesta passo, você executa o Job do Databricks em seu workspace.
No diretório raiz, use a CLI do Databricks para executar o comando
bundle run
, da seguinte maneira, substituindo<project-name>
pelo nome do seu projeto da etapa 2:databricks bundle run -t dev <project-name>_job
Copie o valor de
Run URL
que aparece em seu terminal e cole esse valor em seu navegador da Web para abrir seu workspace do Databricks.No seu workspace do Databricks, depois que a tarefa for concluída com sucesso e mostrar uma barra de título verde, clique na tarefa main_task para ver os resultados.
Se você fizer alguma alteração em seu pacote após esta etapa, repita as etapas 5 a 7 para verificar se a configuração do pacote ainda é válida, reimplantar o projeto e executar o projeto reimplantado.
Você chegou ao final dos passos para criar um pacote usando um padrão.
Crie o pacote manualmente
Nesses passos, o senhor cria o pacote desde o início, manualmente. Esses passos orientam o senhor a criar um pacote que consiste em arquivos a serem construídos em um arquivo Python wheel e a definição de um Databricks Job para construir esse arquivo Python wheel. Em seguida, o senhor valida, implanta e cria os arquivos implantados em um arquivo Python wheel a partir do Python wheel Job dentro do seu Databricks workspace.
Essas etapas incluem adicionar conteúdo a um arquivo YAML. Opcionalmente, você pode querer usar um ambiente de desenvolvimento integrado (IDE) que forneça sugestões e ações automáticas de esquema ao trabalhar com arquivos YAML. As etapas a seguir usam o Visual Studio Code com a extensão YAML instalada no Visual Studio Code Marketplace.
Estes passos pressupõem que você já saiba:
Como criar, desenvolver e trabalhar com arquivos Python wheel com Poetry ou
setuptools
. Para Poetry, consulte Uso básico. Parasetuptools
, consulte o guia do usuário doPython Packaging.Como usar os arquivos Python wheel como parte de um trabalho Databricks. Consulte Usar um arquivo Python wheel em um trabalho Databricks .
Siga estas instruções para criar um pacote de amostra que crie um arquivo Python wheel com Poetry ou setuptools
, implante o arquivo Python wheel e, em seguida, execute o arquivo Python wheel implantado.
Se o senhor já tiver criado um arquivo Python wheel e quiser apenas implantá-lo e executá-lo, pule para a especificação das configurações do Python wheel no arquivo de configuração do pacote no passo 3: Criar o arquivo de configuração do pacote.
o passo 1: Configurar autenticação
Neste passo, o senhor configura a autenticação entre a CLI da Databricks em sua máquina de desenvolvimento e a 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 do Databricks correspondente denominado DEFAULT
para autenticação.
Observação
A autenticação U2M é adequada para experimentar esses passos em tempo real. Para um fluxo de trabalho totalmente automatizado, a Databricks recomenda que o senhor use a autenticação OAuth máquina a máquina (M2M). Consulte as instruções de configuração da autenticação M2M em Autenticação.
Use a CLI do Databricks para iniciar o gerenciamento de tokens OAuth localmente, executando o seguinte comando para cada destino workspace.
No comando a seguir, substitua
<workspace-url>
pelo URL da instância do workspace do Databricks, por exemplo,https://dbc-a1b2345c-d6e7.cloud.databricks.com
.databricks 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 separado ou prompt de comando, use a CLI do Databricks 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, siga as instruções na tela para acessar o site log in da Databricks workspace.
Para view o valor atual dos tokens OAuth de um perfil e a data de expiração futura 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 o senhor 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 da Databricks a encontrar as informações corretas dos tokens OAuth correspondentes.
o passo 2: Crie o pacote
Um pacote contém os artefatos que você deseja implantar e as configurações para o fluxo de trabalho que você deseja executar.
Na raiz do seu pacote, crie as seguintes pastas e arquivos, dependendo se o senhor usa Poetry ou
setuptools
para criar arquivos Python wheel:├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── pyproject.toml
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── setup.py
Deixe o arquivo
__init__.py
vazio.Adicione o seguinte código ao arquivo
main.py
e salve o arquivo:from my_package.my_module import * def main(): first = 200 second = 400 print(f"{first} + {second} = {add_two_numbers(first, second)}") print(f"{second} - {first} = {subtract_two_numbers(second, first)}") print(f"{first} * {second} = {multiply_two_numbers(first, second)}") print(f"{second} / {first} = {divide_two_numbers(second, first)}") if __name__ == "__main__": main()
Adicione o seguinte código ao arquivo
my_module.py
e salve o arquivo:def add_two_numbers(a, b): return a + b def subtract_two_numbers(a, b): return a - b def multiply_two_numbers(a, b): return a * b def divide_two_numbers(a, b): return a / b
Adicione o seguinte código ao arquivo
pyproject.toml
ousetup.py
e salve o arquivo:[tool.poetry] name = "my_package" version = "0.0.1" description = "<my-package-description>" authors = ["my-author-name <my-author-name>@<my-organization>"] [tool.poetry.dependencies] python = "^3.10" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] main = "my_package.main:main"
Substitua
my-author-name
pelo nome do contato principal da sua organização.Substitua
my-author-name>@<my-organization
pelo endereço de contato email principal da sua organização.Substitua
<my-package-description>
por uma descrição de exibição para seu arquivo Python wheel.
from setuptools import setup, find_packages import src setup( name = "my_package", version = "0.0.1", author = "<my-author-name>", url = "https://<my-url>", author_email = "<my-author-name>@<my-organization>", description = "<my-package-description>", packages=find_packages(where='./src'), package_dir={'': 'src'}, entry_points={ "packages": [ "main=my_package.main:main" ] }, install_requires=[ "setuptools" ] )
Substitua
https://<my-url>
pelo URL da sua organização.Substitua
<my-author-name>
pelo nome do contato principal da sua organização.Substitua
<my-author-name>@<my-organization>
pelo endereço de contato email principal da sua organização.Substitua
<my-package-description>
por uma descrição de exibição para seu arquivo Python wheel.
o passo 3: Crie o arquivo de configuração do pacote
Um arquivo de configuração do pacote descreve os artefatos que você deseja implantar e o fluxo de trabalho que deseja executar.
Na raiz do seu pacote, adicione um arquivo de configuração de pacote chamado
databricks.yml
. Adicione o seguinte código a este arquivo:Observação
Se o senhor já tiver criado um arquivo Python wheel e quiser apenas implantá-lo, modifique o seguinte arquivo de configuração do pacote omitindo o mapeamento
artifacts
. O Databricks CLI assumirá então que o arquivo Python wheel já foi criado e implantará automaticamente os arquivos especificados nas entradaswhl
do arraylibraries
.bundle: name: my-wheel-bundle artifacts: default: type: whl build: poetry build path: . resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: i3.xlarge data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>
bundle: name: my-wheel-bundle resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: i3.xlarge data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>
Substitua
<workspace-url>
pelo URL da instância do seu espaço de trabalho, por exemplohttps://dbc-a1b2345c-d6e7.cloud.databricks.com
.O mapeamento
artifacts
é necessário para criar arquivos Python wheel com Poetry e é opcional para criar arquivos Python wheel comsetuptools
. O mapeamentoartifacts
contém uma ou mais definições de artefato com os seguintes mapeamentos:O mapeamento
type
deve estar presente e definido comowhl
para especificar que um arquivo Python wheel deve ser criado. Parasetuptools
,whl
é o endereço default se nenhuma definição de artefato for especificada.O mapeamento
path
indica o caminho para o arquivopyproject.toml
para Poetry ou para o arquivosetup.py
parasetuptools
. Este caminho é relativo ao arquivodatabricks.yml
. Parasetuptools
, esse caminho é.
(o mesmo diretório do arquivodatabricks.yml
) por default.O mapeamento
build
indica qualquer comando de construção personalizado para execução para criar o arquivo Python wheel. Parasetuptools
, esse comando épython3 setup.py bdist wheel
por default.O mapeamento
files
consiste em um ou mais mapeamentossource
que especificam quaisquer arquivos adicionais a serem incluídos na compilação Python wheel . Não há default.
Observação
Se quiser instalar o arquivo Python wheel em um destino cluster que tenha Databricks Runtime 12.2 LTS ou abaixo instalado, o senhor deve adicionar o seguinte mapeamento de nível superior ao arquivo
databricks.yml
:# Applies to jobs with python_wheel_task and that use # clusters with Databricks Runtime 13.0 or below installed. experimental: python_wheel_wrapper: true
Este mapeamento instrui a CLI do Databricks a fazer o seguinte:
implantado uma cópia do arquivo Python wheel em segundo plano. Esse caminho de implementação é normalmente
${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
.Cria um Notebook em segundo plano que contém instruções para instalar o arquivo Python wheel implantado anteriormente no destino cluster. Esse caminho de Notebooké normalmente
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
.Quando o senhor executa um Job que contém uma tarefa Python wheel e essa tarefa faz referência ao arquivo Python wheel anterior, é criado um Job em segundo plano que executa o Notebook anterior.
Não é necessário especificar este mapeamento para clusters de destino com o Databricks Runtime 13.1 ou acima instalado, pois as instalações Python wheel do sistema de arquivos workspace do Databricks serão instaladas automaticamente nesses clusters de destino.
Se você usar Poetry, faça o seguinte:
Instale Poetry, versão 1.6 ou acima, caso ainda não esteja instalado. Para verificar sua versão instalada do Poetry, execute o comando
poetry -V
oupoetry --version
.Certifique-se de ter o Python versão 3.10 ou acima instalado. Para verificar sua versão do Python, execute o comando
python -V
oupython --version
.Certifique-se de ter a CLI do Databricks versão 0.209.0 ou acima. Para sua versão da CLI do Databricks, execute o comando
databricks -v
oudatabricks --version
. Consulte Instalar ou atualizar a CLI do Databricks.
Se você usar
setuptools
, instale o pacotewheel
esetuptools
se eles ainda não estiverem instalados, executando o seguinte comando:pip3 install --upgrade wheel setuptools
Se você pretende armazenar este pacote com um provedor Git, adicione um arquivo
.gitignore
na raiz do projeto e adicione as seguintes entradas a este arquivo:.databricks dist
.databricks build dist src/my_package/my_package.egg-info
o passo 4: Valide o arquivo de configuração do pacote configurável do projeto
Neste passo, você verifica se a configuração do pacote é válida.
No diretório raiz, valide o arquivo de configuração do pacote configurável:
databricks bundle validate
Se um resumo da configuração do pacote for retornado, a validação foi bem-sucedida. Se algum erro for retornado, corrija os erros e repita este passo.
Se você fizer alguma alteração em seu pacote após este passo, você deve repetir este passo para verificar se a configuração do seu pacote ainda é válida.
o passo 5: Crie o arquivo Python wheel e implante o projeto local no remoto workspace
Crie o arquivo Python wheel localmente, implante o arquivo Python wheel construído em seu workspace, implante o Notebook em seu workspace e crie o Job em seu workspace:
databricks bundle deploy -t dev
o passo 6: execução do projeto implantado
executar o implantado Job, que utiliza o implantado Notebook para chamar o arquivo implantado Python wheel:
databricks bundle run -t dev wheel-job
Na saída, copie o
Run URL
e cole-o na barra de endereços do seu navegador.Na página Saída da execução Job , aparecem os seguintes resultados:
200 + 400 = 600 400 - 200 = 200 200 * 400 = 80000 400 / 200 = 2.0
Se você fizer alguma alteração em seu pacote após esta etapa, repita as etapas 3 a 5 para verificar se a configuração do pacote ainda é válida, reimplantar o projeto e executar o projeto reimplantado.
Crie e instale um arquivo Python wheel para um Job
Para criar um arquivo Python wheel com Poetry ou setuptools
e, em seguida, usar esse arquivo Python wheel em um Job, o senhor deve adicionar um ou dois mapeamentos ao seu arquivo databricks.yml
.
Se você usar Poetry, deverá incluir o mapeamento artifacts
a seguir no arquivo databricks.yml
. Este mapeamento executa o comando poetry build
e usa o arquivo pyproject.toml
que está no mesmo diretório que o arquivo databricks.yml
:
artifacts:
default:
type: whl
build: poetry build
path: .
Observação
O mapeamento artifacts
é opcional para setuptools
. Por default, para setuptools
a CLI do Databricks executa o comando python3 setup.py bdist_wheel
e usa o arquivo setup.py
que está no mesmo diretório que o arquivo databricks.yml
. A CLI do Databricks pressupõe que você já executou um comando como pip3 install --upgrade wheel setuptools
para instalar o pacote wheel
e setuptools
se eles ainda não estiverem instalados.
Além disso, o mapeamento libraries
da tarefa de trabalho deve conter um valor whl
que especifique o caminho para o arquivo de roda Python criado em relação ao arquivo de configuração no qual ele é declarado. O exemplo a seguir mostra isso em uma tarefa de notebook (as reticências indicam conteúdo omitido para fins de brevidade):
resources:
jobs:
my-notebook-job:
name: my-notebook-job
tasks:
- task_key: my-notebook-job-notebook-task
notebook_task:
notebook_path: ./my_notebook.py
libraries:
- whl: ./dist/*.whl
new_cluster:
# ...
Crie e instale um arquivo Python wheel para um pipeline
Para criar um arquivo Python wheel com Poetry ou setuptools
e, em seguida, fazer referência a esse arquivo Python wheel em um Delta Live Tables pipeline, o senhor deve adicionar um mapeamento ao seu arquivo databricks.yml
se usar Poetry, e deve adicionar um comando %pip install
ao seu pipeline Notebook, da seguinte forma.
Se você usar Poetry, deverá incluir o mapeamento artifacts
a seguir no arquivo databricks.yml
. Este mapeamento executa o comando poetry build
e usa o arquivo pyproject.toml
que está no mesmo diretório que o arquivo databricks.yml
:
artifacts:
default:
type: whl
build: poetry build
path: .
Observação
O mapeamento artifacts
é opcional para setuptools
. Por default, para setuptools
a CLI do Databricks executa o comando python3 setup.py bdist_wheel
e usa o arquivo setup.py
que está no mesmo diretório que o arquivo databricks.yml
. A CLI do Databricks pressupõe que você já executou um comando como pip3 install --upgrade wheel setuptools
para instalar o pacote wheel
e setuptools
se eles ainda não estiverem instalados.
Além disso, o pipeline Notebook relacionado deve incluir um comando %pip install
para instalar o arquivo Python wheel que foi criado. Consulte Python biblioteca.