Pular para o conteúdo principal

Use um arquivo Python wheel em LakeFlow Jobs

Um Python arquivo de roda é uma forma padrão de empacotar e distribuir os arquivos necessários para executar um Python aplicativo. Usando a tarefa Python wheel, o senhor pode garantir a instalação rápida e confiável do código Python no seu trabalho. Este artigo fornece um exemplo de criação de um arquivo Python wheel e um Job que executa o pacote de aplicativos no arquivo Python wheel. Neste exemplo, você vai:

  • Crie os arquivos Python que definem um aplicativo de exemplo.
  • Agrupe os arquivos de exemplo em um arquivo Python wheel.
  • Crie um trabalho para executar o arquivo Python wheel.
  • Execute o job e veja os resultados.

Antes de começar

Você precisa do seguinte para concluir este exemplo:

  • Python 3

  • O Python wheel e setuptool pacote. O senhor pode usar o site pip para instalar esses pacotes. Por exemplo, o senhor pode executar o seguinte comando para instalar esse pacote:

    Bash
    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 de Python a seguir é um script simples que lê argumentos de entrada e imprime esses argumentos. Copie este script e salve-o em um caminho chamado my_test_code/__main__.py no diretório que você criou na passo anterior.

Python
"""
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. Salve isso em um caminho chamado my_test_code/__init__.py no diretório que você criou na passo 1.

Python
__version__ = "0.0.1"
__author__ = "Databricks"

Etapa 4: Criar o arquivo Python wheel

A conversão dos artefatos do Python em um arquivo Python wheel 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 nesse script são usados para executar o pacote no Databricks fluxo de trabalho. Em cada valor em entry_points, o valor antes de = (neste exemplo, run) é o nome do ponto de entrada e é usado para configurar a tarefa do Python wheel.

  1. Salve este script em um arquivo chamado setup.py na raiz do diretório que você criou na passo 1:

    Python
    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'
    ]
    )
  2. Mude para o diretório que você criou na etapa 1 e execute o seguinte comando para empacotar seu código na distribuição Python wheel:

    Bash
    python3 setup.py bdist_wheel

Esse comando cria o arquivo Python wheel e o salva no arquivo dist/my_test_package-0.0.1-py3.none-any.whl em seu diretório.

Etapa 5. Criar um trabalho para executar o arquivo Python wheel

  1. Em seu site workspace, clique em ícone de fluxo de trabalho. Jobs & pipeline na barra lateral.

  2. Clique em Create e depois em Job .

    A tarefa tab é exibida com o painel de tarefa vazio.

nota

Se a interface de usuárioLakeFlow Jobs estiver ativada , clique no Python wheel para configurar a primeira tarefa. Se o bloco Python wheel não estiver disponível, clique em Add another task type (Adicionar outro tipo de tarefa ) e procure por Python wheel .

  1. Opcionalmente, substitua o nome do trabalho, cujo padrão é New Job <date-time> pelo seu nome de trabalho.

  2. Em nome da tarefa , digite um nome para a tarefa.

  3. Se necessário, selecione Python wheel no menu suspenso Type (Tipo ).

  4. Em nome do pacote , digite my_test_package. O valor pacote Name é o nome do pacote Python a ser importado. Neste exemplo, o nome do pacote é o valor atribuído ao parâmetro name em setup.py.

  5. Em Ponto de entrada , digite run. O ponto de entrada é um dos valores especificados na coleção entry_points no script setup.py. Neste exemplo, run é o único ponto de entrada definido.

  6. Em computação , selecione um clustering de trabalho existente ou Adicionar novo clustering de trabalho .

  7. Especifique seu arquivo Python wheel:

    • No menu suspenso Environment and library (Ambiente e biblioteca ), clique no link Ícone de lápis. ao lado de default (padrão ) para editá-lo. Como alternativa, clique em Adicionar novo ambiente para configurar um novo ambiente.
    • Na caixa de diálogo Configurar ambiente , clique em Adicionar dependência.
    • Clique Ícone de pasta no ícone da pasta para abrir o navegador de arquivos. Arraste e solte o arquivo de roda que o senhor criou no passo 4 na caixa de diálogo Select a dependency (Selecionar uma dependência ).
    • Clique em Confirmar .
  8. Em Parâmetros , selecione Argumentos posicionais ou Argumentos de palavra-chave para inserir a key e o valor de cada parâmetro. Os argumentos posicionais e de palavra-chave são passados para a tarefa de Python wheel como argumentos de linha de comando.

    • Para inserir argumentos posicionais, insira os parâmetros como uma matriz de strings formatada em JSON, por exemplo: ["first argument","first value","second argument","second value"].
    • Para inserir argumentos de palavras-chave, clique em + Add (Adicionar ) e insira um key e um valor. Clique em + Adicionar novamente para inserir mais argumentos.
  9. Clique em Criar tarefa .

Etapa 6: executar o trabalho e view os detalhes da execução do trabalho

Clique em Botão executar agora para executar o fluxo de trabalho. Para acessar os detalhes da execução no site view, clique na execução tab e, em seguida, clique no link na coluna de tempo de início da execução no Job execução view.

Quando a execução for concluída, a saída será exibida no painel Output (Saída ), incluindo os argumentos passados para a tarefa.

Próximas etapas

Para saber mais sobre como criar e executar o Job, consulte LakeFlow Jobs.