Udostępnij przez


Używanie pliku wheel języka Python w zadaniach Lakeflow

Plik wheel Pythona to standardowy sposób pakowania i dystrybucji plików wymaganych do uruchomienia aplikacji w Pythonie. Za pomocą zadania wheel języka Python możesz zapewnić szybką i niezawodną instalację kodu języka Python w zadaniach. Ten artykuł zawiera przykład tworzenia pliku wheel Pythona i zadania, które uruchamia aplikację spakowaną w pliku wheel. W tym przykładzie wykonasz następujące elementy:

  • Utwórz pliki języka Python definiujące przykładową aplikację.
  • Dołącz przykładowe pliki do pliku wheel języka Python.
  • Utwórz zadanie do uruchomienia pliku wheel w języku Python.
  • Uruchom zadanie i wyświetl wyniki.

Przed rozpoczęciem

Aby ukończyć ten przykład, potrzebne są następujące elementy:

  • Python3

  • Python wheel i setuptool pakiety. Możesz użyć pip polecenia , aby zainstalować te pakiety. Możesz na przykład uruchomić następujące polecenie, aby zainstalować następujące pakiety:

    pip install wheel setuptools
    

Krok 1. Tworzenie katalogu lokalnego na potrzeby przykładu

Utwórz katalog lokalny do przechowywania przykładowego kodu i wygenerowanych artefaktów, na przykład databricks_wheel_test.

Krok 2. Tworzenie przykładowego skryptu języka Python

Poniższy przykład języka Python to prosty skrypt, który odczytuje argumenty wejściowe i wyświetla te argumenty. Skopiuj ten skrypt i zapisz go w ścieżce o nazwie my_test_code/__main__.py w katalogu utworzonym w poprzednim kroku.

"""
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()

Krok 3. Tworzenie pliku metadanych dla pakietu

Poniższy plik zawiera metadane opisujące pakiet. Zapisz to w ścieżce o nazwie my_test_code/__init__.py w katalogu utworzonym w kroku 1.

__version__ = "0.0.1"
__author__ = "Databricks"

Krok 4. Tworzenie pliku wheel języka Python

Konwertowanie artefaktów Pythona na plik koła Pythona wymaga określenia metadanych pakietu, takich jak nazwa pakietu i punkty wejścia. Poniższy skrypt definiuje te metadane.

Uwaga

Zdefiniowane entry_points w tym skrypcie służą do uruchamiania pakietu w przepływie pracy Azure Databricks. W każdej wartości w entry_points, wartość przed = (w tym przykładzie run) jest nazwą punktu wejścia i służy do konfigurowania zadania dla pakietu wheel w Pythonie.

  1. Zapisz ten skrypt w pliku o nazwie setup.py w katalogu głównym katalogu utworzonego w kroku 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'
      ]
    )
    
  2. Przejdź do katalogu utworzonego w kroku 1 i uruchom następujące polecenie, aby spakować kod do dystrybucji kół języka Python:

    python3 setup.py bdist_wheel
    

To polecenie tworzy plik wheel języka Python i zapisuje go jako dist/my_test_package-0.0.1-py3.none-any.whl w Twoim katalogu.

Krok 5. Utwórz zadanie do uruchomienia pliku wheel języka Python

  1. W obszarze roboczym kliknij ikonę Przepływy pracy.Zadania i rury na pasku bocznym.

  2. Kliknij pozycję Utwórz, a następnie pozycję Zadanie.

  3. Kliknij kafelek Koło języka Python , aby skonfigurować pierwsze zadanie. Jeśli kafelek koła języka Python jest niedostępny, kliknij pozycję Dodaj inny typ zadania i wyszukaj pozycję Koło języka Python.

  4. Opcjonalnie zastąp nazwę zadania, które domyślnie ma New Job <date-time>wartość , nazwą zadania.

  5. W polu Nazwa zadania wprowadź nazwę zadania.

  6. W razie potrzeby wybierz pozycję Koło języka Python z menu rozwijanego Typ .

  7. W polu Nazwa pakietu wprowadź wartość my_test_package. Nazwa pakietu to wartość nazwy pakietu języka Python do zaimportowania. W tym przykładzie nazwa pakietu jest wartością przypisaną do parametru name w pliku setup.py.

  8. W Punkt wejścia wprowadź run. Punkt wejścia jest jedną z wartości określonych w entry_points kolekcji w setup.py skrypcie. W tym przykładzie run jest jedynym zdefiniowanym punktem wejścia.

  9. W obszarze Obliczenia wybierz istniejący klaster zadań lub Dodaj nowy klaster zadań.

  10. Określ plik wheel języka Python:

    • Na liście rozwijanej Środowisko i biblioteki kliknij ikonę Ołówek. Obok pozycji Domyślne, aby go edytować. Alternatywnie kliknij pozycję Dodaj nowe środowisko , aby skonfigurować nowe środowisko.
    • W oknie dialogowym Konfigurowanie środowiska kliknij pozycję Dodaj zależność.
    • Kliknij pozycję Ikona folderu ikona folderu, aby otworzyć przeglądarkę plików. Przeciągnij i upuść plik koła utworzony w kroku 4 w oknie dialogowym Wybieranie zależności .
    • Kliknij przycisk Potwierdź.
  11. W obszarze Parametry wybierz pozycję Argumenty pozycyjne lub Argumenty słów kluczowych, aby wprowadzić klucz i wartość każdego parametru. Argumenty pozycyjne i kluczowe są przekazywane do zadania koła języka Python jako argumenty wiersza polecenia.

    • Aby wprowadzić argumenty pozycyjne, wprowadź parametry jako tablicę ciągów w formacie JSON, na przykład: ["first argument","first value","second argument","second value"].
    • Aby wprowadzić argumenty słów kluczowych, kliknij pozycję + Dodaj i wprowadź klucz i wartość. Kliknij ponownie pozycję + Dodaj , aby wprowadzić więcej argumentów.
  12. Kliknij pozycję Utwórz zadanie.

Krok 6. Uruchamianie zadania i wyświetlanie szczegółów uruchomienia zadania

Kliknij Przycisk Uruchom teraz , aby uruchomić przepływ pracy. Aby wyświetlić szczegóły przebiegu, kliknij kartę Uruchomienia , a następnie kliknij link w kolumnie Godzina rozpoczęcia przebiegu w widoku przebiegów zadania .

Po zakończeniu przebiegu dane wyjściowe zostaną wyświetlone w panelu wyników, w tym argumenty przekazane do zadania.

Następne kroki

Aby dowiedzieć się więcej na temat tworzenia i uruchamiania zadań, zobacz Zadania Lakeflow.