Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um arquivo de roda Python é uma maneira padrão de empacotar e distribuir os arquivos necessários para executar um aplicativo Python. Usando a tarefa de roda Python, você pode garantir a instalação rápida e confiável do código Python em seus trabalhos. Este artigo fornece um exemplo de criação de um arquivo de roda Python e um trabalho que executa o aplicativo empacotado no arquivo de roda Python. Neste exemplo, tu vais:
- Crie os arquivos Python definindo um aplicativo de exemplo.
- Agrupe os arquivos de exemplo em um arquivo de roda do Python.
- Crie uma tarefa para executar o arquivo Python wheel.
- Execute o trabalho e visualize os resultados.
Antes de começar
Você precisa do seguinte para concluir este exemplo:
Píton3
Os pacotes Python
wheel
esetuptool
. Você pode usarpip
para instalar esses pacotes. Por exemplo, você pode executar o seguinte comando para instalar esses pacotes:pip install wheel setuptools
Etapa 1: Criar um diretório local para o exemplo
Crie um diretório local para armazenar o código de exemplo e os artefatos gerados, por exemplo, databricks_wheel_test
.
Etapa 2: Criar o script Python de exemplo
O exemplo Python a seguir é um script simples que lê argumentos de entrada e imprime esses argumentos. Copie esse script e salve-o em um caminho chamado my_test_code/__main__.py
no diretório que você criou na etapa anterior.
"""
The entry point of the Python Wheel
"""
import sys
def main():
# This method will print the provided arguments
print('Hello from my func')
print('Got arguments:')
print(sys.argv)
if __name__ == '__main__':
main()
Etapa 3: Criar um arquivo de metadados para o pacote
O arquivo a seguir contém metadados que descrevem o pacote. Guarde isto num caminho chamado my_test_code/__init__.py
no diretório que criou na etapa 1.
__version__ = "0.0.1"
__author__ = "Databricks"
Etapa 4: Criar o arquivo de roda Python
Converter os artefatos Python em um arquivo de roda Python requer a especificação de metadados do pacote, como o nome do pacote e os pontos de entrada. O script a seguir define esses metadados.
Nota
Os entry_points
definidos neste script são usados para executar o pacote no fluxo de trabalho do Azure Databricks. Em cada valor em entry_points
, o valor antes de =
(neste caso, run
) é o nome do ponto de entrada e é usado para configurar a tarefa Wheel do Python.
Salve esse script em um arquivo nomeado
setup.py
na raiz do diretório que você criou na etapa 1:from setuptools import setup, find_packages import my_test_code setup( name='my_test_package', version=my_test_code.__version__, author=my_test_code.__author__, url='https://databricks.com', author_email='john.doe@databricks.com', description='my test wheel', packages=find_packages(include=['my_test_code']), entry_points={ 'group_1': 'run=my_test_code.__main__:main' }, install_requires=[ 'setuptools' ] )
Mude para o diretório que você criou na etapa 1 e execute o seguinte comando para empacotar seu código na distribuição de roda Python:
python3 setup.py bdist_wheel
Este comando cria o ficheiro wheel do Python e salva-o no ficheiro dist/my_test_package-0.0.1-py3.none-any.whl
no seu directório.
Passo 5. Criar uma tarefa para executar o ficheiro wheel do Python
- Vá para a página inicial do Azure Databricks e siga um destes procedimentos:
- Na barra lateral, clique no
Jobs & Pipelines e, clique em Criar e, em seguida, em Trabalho.
- Na barra lateral, clique em
Novo e selecione Trabalho no menu.
- Na barra lateral, clique no
- Na caixa de diálogo da tarefa que aparece na guia Tarefas , substitua Adicionar um nome para o trabalho... pelo nome do trabalho, por exemplo,
Python wheel example
. - Em Nome da tarefa, insira um nome para a tarefa, por exemplo,
python_wheel_task
. - Em Tipo, selecione Roda de Python.
- Em Nome do pacote, digite
my_test_package
. O valor Nome do Pacote é o nome do pacote Python a ser importado. Neste exemplo, o nome do pacote é o valor atribuído aoname
parâmetro emsetup.py
. - Em Ponto de entrada, digite
run
. O ponto de entrada é um dos valores especificados na coleçãoentry_points
no scriptsetup.py
. Neste exemplo,run
é o único ponto de entrada definido. - Em Computação, selecione um cluster de trabalho existente ou Adicionar novo cluster de trabalho.
- Clique em Adicionar em Bibliotecas dependentes. Na caixa de diálogo Adicionar biblioteca dependente , com Espaço de trabalho selecionado, arraste o
my_test_package-0.0.1-py3-none-any.whl
arquivo criado na etapa 4 para a área Soltar arquivo aqui da caixa de diálogo. - Clique em Adicionar.
- Em Parâmetros, selecione Argumentos posicionais ou Argumentos de palavra-chave para inserir a chave e o valor de cada parâmetro. Os argumentos posicionais e de palavra-chave são passados para a tarefa 'wheel' do Python como argumentos de linha de comando.
- Para inserir argumentos posicionais, insira parâmetros como uma matriz de cadeias de caracteres formatada em JSON, por exemplo:
["first argument","first value","second argument","second value"]
. - Para inserir argumentos de palavra-chave, clique em + Adicionar e insira uma chave e um valor. Clique em + Adicionar novamente para inserir mais argumentos.
- Para inserir argumentos posicionais, insira parâmetros como uma matriz de cadeias de caracteres formatada em JSON, por exemplo:
- Clique em Criar tarefa.
Etapa 6: Executar o trabalho e exibir os detalhes da execução do trabalho
Clique no para executar o fluxo de trabalho. Para exibir detalhes da execução, clique em Exibir execução no pop-up Execução acionada ou clique no link na coluna Hora de início da execução na exibição de execução do trabalho .
Quando a execução for concluída, a saída será exibida no painel Saída , incluindo os argumentos passados para a tarefa.
Passos seguintes
Para saber mais sobre como criar e executar trabalhos, consulte Lakeflow Jobs.