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?
Para obter um exemplo de configuração que cria um arquivo JAR e o Unity Catalog carrega para, consulte Bundle that upload a JAR file Unity Catalog to.
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?
Decisão: Criar o pacote manualmente ou usando um padrão
Decida se o senhor deseja criar um pacote inicial usando um padrão ou se deseja criar o pacote manualmente. Criar o pacote usando um padrão é mais rápido e fácil, mas o pacote pode produzir conteúdo desnecessário e as configurações do pacote default devem ser personalizadas 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 está fazendo todo o trabalho desde o início. Escolha um dos seguintes conjuntos de etapas:
Crie o pacote usando um padrão
Nestas etapas, o senhor cria o pacote usando o padrão Databricks default bundle para Python. Essas etapas orientam o senhor a criar um pacote que consiste em arquivos a serem compilados em um arquivo Python wheel e a definição de um Job Databricks para compilar 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 em 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.
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
Um pacote contém os artefatos que o senhor deseja implantar e as configurações para o fluxo de trabalho que deseja executar.
-
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 a versã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 ao seu pacote. -
Para
Include a stub (sample) DLT pipeline
, selecioneno
e pressioneEnter
. Isso instrui a CLI do Databricks a não definir um pipeline DLT de amostra em seu pacote. -
Para
Include a stub (sample) Python package
, deixe o valor default deyes
pressionandoEnter
. Isso instrui a CLI da Databricks a adicionar arquivos de amostra do pacote Python wheel e 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 e abra esse diretório com seu IDE preferido, por exemplo, o Visual Studio Code. 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 do trabalho Python wheel e especifica as configurações sobre o destino workspace.resources/<project-name>_job.yml
: Esse arquivo especifica as configurações do Python wheel Job.src/<project-name>
: Esse diretório inclui os arquivos que o trabalho Python wheel usa para criar o arquivo Python wheel.
Se quiser instalar o arquivo Python wheel em um clustering de destino que tenha Databricks Runtime 12.2 LTS ou abaixo instalado, o senhor deverá 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
Esse mapeamento instrui a CLI do Databricks a fazer o seguinte:
- implantado uma cópia do arquivo Python wheel em segundo plano. Esse caminho de implantaçã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 implantado Python wheel anterior no clustering de destino. O caminho deste Notebook é normalmente
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
. - Quando o senhor executa um trabalho que contém uma tarefa Python wheel e essa tarefa faz referência ao arquivo Python wheel anterior, é criado um trabalho em segundo plano que executa o Notebook anterior.
O senhor não precisa especificar esse mapeamento para clustering de destino com o Databricks Runtime 13.1 ou o acima instalado, pois as instalações do Python wheel do sistema de arquivos Databricks workspace serão instaladas automaticamente nesses clustering de destino.
Etapa 4: Atualize o pacote do projeto para usar o 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 a Etapa 5: Validar o arquivo de configuração do pacote do projeto.
Para atualizar o pacote do projeto para usar o Poetry em vez do setuptools
, certifique-se de que o computador de desenvolvimento local atenda aos seguintes requisitos:
- Poetry versão 1.6 ou acima. Para verificar a versão instalada do site 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 site Python, execute o comando
python -V
oupython --version
. - Databricks CLI versão 0.209.0 ou acima. Para sua versão do Databricks CLI, execute o comando
databricks -v
oudatabricks --version
. Consulte Instalar ou atualizar a CLI da Databricks.
Faça as seguintes alterações no pacote do projeto:
-
No diretório raiz do pacote, instrua o site
poetry
a inicializar as compilações do Python wheel para o Poetry, executando o seguinte comando:Bashpoetry init
-
O Poetry exibe vários prompts para o senhor preencher. Para as compilações Python wheel, responda a esses prompts da seguinte forma para corresponder às configurações default relacionadas no pacote do projeto:
- Para
Package name
, digite o nome da pasta secundária em/src
e pressioneEnter
. Esse também deve ser o valorname
do pacote, que é definido no arquivosetup.py
do pacote. - Para
Version
, digite0.0.1
e pressioneEnter
. Isso corresponde ao número da versão definido no arquivosrc/<project-name>/__init__.py
do pacote. - Para
Description
, digitewheel file based on <project-name>/src
(substituindo<project-name>
pelo nome do projeto) e pressioneEnter
. Isso corresponde ao valordescription
que é definido no arquivosetup.py
do padrão. - Para
Author
, pressioneEnter
. Esse valor default corresponde ao autor definido no arquivosetup.py
do padrão. - Para
License
, pressioneEnter
. Não há nenhuma licença definida no padrão. - Em
Compatible Python versions
, digite a versão Python que corresponde à versão do clustering 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
.
- Para
-
Depois que o senhor concluir os prompts, o Poetry adicionará 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, instrua
poetry
a 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:Bashpoetry install
-
Adicione a seção a seguir no 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 ponto de entrada do Python wheelpara o trabalho Python wheel.
-
Adicione o mapeamento a seguir no nível superior do arquivo
databricks.yml
do pacote:YAMLartifacts:
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.
Etapa 5: 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 6: Crie o arquivo Python wheel e implante o projeto local no remoto workspace
Nesta etapa, o senhor constrói o arquivo Python wheel, implanta o arquivo Python wheel construído em seu site remoto Databricks workspace e cria o trabalho Databricks em seu site workspace.
-
Se o senhor usa o
setuptools
, instale os pacoteswheel
esetuptools
, caso ainda não o tenha feito, executando o seguinte comando:Bashpip3 install --upgrade wheel setuptools
-
No terminal do Visual Studio Code, use o endereço Databricks CLI para executar o comando
bundle deploy
da seguinte forma:Bashdatabricks bundle deploy -t dev
-
Se o senhor quiser verificar se o arquivo Python wheel criado localmente foi implantado:
- Na barra lateral do site Databricks workspace , clique em workspace .
- Clique na seguinte pasta: workspace > Usuários >
<your-username>
> .bundle ><project-name>
> dev > artifacts >.internal ><random-guid>
.
O arquivo Python wheel deve estar nessa pasta.
-
Se o senhor quiser verificar se o trabalho foi criado:
- Na barra lateral do site Databricks workspace , clique em fluxo de trabalho .
- No site Jobs 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 no pacote após essa etapa, repita as etapas 5 a 6 para verificar se a configuração do pacote ainda é válida e, em seguida, reimplantar o projeto.
Etapa 7: execução do projeto implantado
Nesta passo, você executa o Job do Databricks em seu workspace.
-
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>_job
-
Copie o valor de
Run URL
que aparece no terminal e cole-o no navegador da Web para abrir o site Databricks workspace. -
Em seu site Databricks workspace, depois que a tarefa for concluída com êxito e mostrar uma barra de título verde, clique na tarefa main_task para ver os resultados.
Se fizer alguma alteração no pacote após essa etapa, repita as etapas 5 a 7 para verificar se a configuração do pacote ainda é válida, reimplante o projeto e execute o projeto reimplantado.
O senhor chegou ao final das etapas para criar um pacote usando um padrão.
Crie o pacote manualmente
Nessas etapas, você cria o pacote manualmente desde o início. Essas etapas orientam o senhor a criar um pacote que consiste em arquivos a serem compilados em um arquivo Python wheel e a definição de um Job Databricks para compilar 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 em seu Databricks workspace.
Essas etapas incluem adicionar conteúdo a um arquivo YAML. Opcionalmente, talvez você queira 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 mercado do Visual Studio Code.
Essas etapas 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 na Etapa 3: Criar o arquivo de configuração do pacote.
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
Um pacote contém os artefatos que o senhor deseja implantar e as configurações para o fluxo de trabalho que 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:
- Poetry
- Setuptools
├── 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 código a seguir ao arquivo
main.py
e salve-o:Pythonfrom 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 código a seguir ao arquivo
my_module.py
e salve-o:Pythondef 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 código a seguir ao arquivo
pyproject.toml
ousetup.py
e salve-o:
- Pyproject.toml
- Setup.py
[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"
-
Replace
my-author-name
with your organization’s primary contact name. -
Replace
my-author-name>@<my-organization
with your organization’s primary email contact address. -
Replace
<my-package-description>
with a display description for your Python wheel file.
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"
]
)
-
Replace
https://<my-url>
with your organization’s URL. -
Replace
<my-author-name>
with your organization’s primary contact name. -
Replace
<my-author-name>@<my-organization>
with your organization’s primary email contact address. -
Replace
<my-package-description>
with a display description for your Python wheel file.
Etapa 3: criar o arquivo de configuração do pacote
Um arquivo de configuração de pacote descreve os artefatos que o senhor 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 código a seguir a esse arquivo:
- Poetry
- Setuptools
If you have already built a Python wheel file and just want to deploy it, then modify the following bundle configuration file by omitting the artifacts
mapping. The Databricks CLI will then assume that the Python wheel file is already built and will automatically deploy the files that are specified in the libraries
array’s whl
entries.
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ânciaworkspace, por exemplo, https://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 com setuptools
. O mapeamento artifacts
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
. Esse 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 do Python wheel. Não há default.
Se quiser instalar o arquivo Python wheel em um clustering de destino que tenha Databricks Runtime 12.2 LTS ou abaixo instalado, o senhor deverá 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
Esse mapeamento instrui a CLI do Databricks a fazer o seguinte:
-
implantado uma cópia do arquivo Python wheel em segundo plano. Esse caminho de implantaçã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 implantado Python wheel anterior no clustering de destino. O caminho deste Notebook é normalmente
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
. -
Quando o senhor executa um trabalho que contém uma tarefa Python wheel e essa tarefa faz referência ao arquivo Python wheel anterior, é criado um trabalho em segundo plano que executa o Notebook anterior.
O senhor não precisa especificar esse mapeamento para clustering de destino com o Databricks Runtime 13.1 ou o acima instalado, pois as instalações do Python wheel do sistema de arquivos Databricks workspace serão instaladas automaticamente nesses clustering de destino.
-
Se o senhor usar o Poetry, faça o seguinte:
- Instale Poetry o site, versão 1.6 ou acima, se ainda não estiver instalado. Para verificar a versão instalada do site Poetry, execute o comando
poetry -V
oupoetry --version
. - Certifique-se de que o senhor tenha o Python versão 3.10 ou acima instalado. Para verificar sua versão do site Python, execute o comando
python -V
oupython --version
. - Certifique-se de que o senhor tenha o site Databricks CLI versão 0.209.0 ou superior. Para sua versão do Databricks CLI, execute o comando
databricks -v
oudatabricks --version
. Consulte Instalar ou atualizar a CLI da Databricks.
- Instale Poetry o site, versão 1.6 ou acima, se ainda não estiver instalado. Para verificar a versão instalada do site Poetry, execute o comando
-
Se o senhor usar o
setuptools
, instale os pacoteswheel
esetuptools
, se ainda não estiverem instalados, executando o seguinte comando:Bashpip3 install --upgrade wheel setuptools
-
Se o senhor pretende armazenar esse pacote com um provedor Git, adicione um arquivo
.gitignore
na raiz do projeto e adicione as seguintes entradas a esse arquivo:
- Poetry
- Setuptools
.databricks
dist
.databricks
build
dist
src/my_package/my_package.egg-info
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, valide o arquivo de configuração do pacote:
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: 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
Etapa 6: execução do projeto implantado
-
executar o Job implantado, que usa o Notebook implantado para chamar o arquivo Python wheel implantado:
Bashdatabricks bundle run -t dev wheel-job
-
Na saída, copie o
Run URL
e cole-o na barra de endereço do seu navegador. -
Na página Output do Job Execution, os seguintes resultados são exibidos:
200 + 400 = 600
400 - 200 = 200
200 * 400 = 80000
400 / 200 = 2.0
Se fizer alguma alteração no pacote após essa etapa, repita as etapas 3 a 5 para verificar se a configuração do pacote ainda é válida, reimplante o projeto e execute o projeto reimplantado.
Criar e instalar um arquivo Python wheel para um trabalho
Para criar um arquivo Python wheel com Poetry ou setuptools
e, em seguida, usar esse arquivo Python wheel em um trabalho, o senhor deve adicionar um ou dois mapeamentos ao seu arquivo databricks.yml
.
Se o senhor usar o Poetry, deverá incluir o seguinte mapeamento artifacts
no arquivo databricks.yml
. Esse 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: .
O mapeamento artifacts
é opcional para setuptools
. Por default, para setuptools
o Databricks CLI 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
. O site Databricks CLI pressupõe que o senhor já tenha executado um comando como pip3 install --upgrade wheel setuptools
para instalar os pacotes wheel
e setuptools
, caso ainda não estejam instalados.
Além disso, o mapeamento libraries
do Job tarefa deve conter um valor whl
que especifique o caminho para o arquivo Python wheel criado em relação ao arquivo de configuração no qual ele é declarado. O exemplo a seguir mostra isso em uma tarefa do 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 DLT 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, como segue.
Se o senhor usar o Poetry, deverá incluir o seguinte mapeamento artifacts
no arquivo databricks.yml
. Esse 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: .
O mapeamento artifacts
é opcional para setuptools
. Por default, para setuptools
o Databricks CLI 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
. O site Databricks CLI pressupõe que o senhor já tenha executado um comando como pip3 install --upgrade wheel setuptools
para instalar os pacotes wheel
e setuptools
, caso ainda não estejam instalados.
Além disso, o Notebook pipeline relacionado deve incluir um comando %pip install
para instalar o arquivo Python wheel que foi criado. Consulte Python biblioteca.