Używanie pliku wheel języka Python w zadaniu usługi Azure Databricks
Plik wheel języka Python to standardowy sposób tworzenia pakietów i dystrybuowania plików wymaganych do uruchomienia aplikacji w języku Python. Za pomocą zadania wheel języka Python możesz zapewnić szybką i niezawodną instalację kodu języka Python w zadaniach usługi Azure Databricks. Ten artykuł zawiera przykład tworzenia pliku wheel języka Python i zadania, które uruchamia aplikację spakowana w pliku wheel języka Python. 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 uruchamiania pliku wheel języka Python.
- Uruchom zadanie i wyświetl wyniki.
Przed rozpoczęciem
Aby ukończyć ten przykład, potrzebne są następujące elementy:
Python3
Język Python
wheel
isetuptool
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 języka Python na plik wheel języka Python 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 skrycie służą do uruchamiania pakietu w przepływie pracy usługi Azure Databricks. W każdej wartości w entry_points
pliku wartość wcześniej =
(w tym przykładzie run
) jest nazwą punktu wejścia i służy do konfigurowania zadania koła języka Python.
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' ] )
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 dist/my_test_package-0.0.1-py3.none-any.whl
w pliku w katalogu.
Krok 5. Tworzenie zadania usługi Azure Databricks w celu uruchomienia pliku wheel języka Python
Przejdź do strony docelowej usługi Azure Databricks i wykonaj jedną z następujących czynności:
- Na pasku bocznym kliknij pozycję Przepływy pracy, a następnie kliknij pozycję .
- Na pasku bocznym kliknij pozycję Nowy i wybierz z menu pozycję Zadanie .
W oknie dialogowym zadania wyświetlonym na karcie Zadania zastąp ciąg Dodaj nazwę zadania... nazwą zadania, na przykład
Python wheel example
.W polu Nazwa zadania wprowadź nazwę zadania, na przykład
python_wheel_task
.W polu Typ wybierz pozycję Python Wheel.
W polu Nazwa pakietu wprowadź wartość
my_test_package
. Wartość Nazwa pakietu to nazwa pakietu języka Python do zaimportowania. W tym przykładzie nazwa pakietu jest wartością przypisaną do parametruname
w plikusetup.py
.W polu Punkt wejścia wprowadź wartość
run
. Punkt wejścia jest jedną z wartości określonych wentry_points
kolekcji wsetup.py
skrycie. W tym przykładzierun
jest jedynym zdefiniowanym punktem wejścia.W obszarze Obliczenia wybierz istniejący klaster zadań lub Dodaj nowy klaster zadań.
Kliknij pozycję Dodaj w obszarze Biblioteki zależne. W oknie dialogowym Dodawanie biblioteki zależnej z wybraną pozycją Obszar roboczy przeciągnij
my_test_package-0.0.1-py3-none-any.whl
plik utworzony w kroku 4 do obszaru Upuść plik w oknie dialogowym.Kliknij przycisk Dodaj.
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.
- Aby wprowadzić argumenty pozycyjne, wprowadź parametry jako tablicę ciągów w formacie JSON, na przykład:
Kliknij pozycję Utwórz zadanie.
Krok 6. Uruchamianie zadania i wyświetlanie szczegółów uruchomienia zadania
Kliknij , aby uruchomić przepływ pracy. Aby wyświetlić szczegóły przebiegu, kliknij pozycję Wyświetl przebieg w wyskakującym oknie podręcznym Wyzwalane uruchomienie lub kliknij link w kolumnie Godzina rozpoczęcia przebiegu w widoku przebiegów zadań.
Po zakończeniu przebiegu dane wyjściowe zostaną wyświetlone w panelu Dane wyjściowe , w tym argumenty przekazane do zadania.
Następne kroki
Aby dowiedzieć się więcej na temat tworzenia i uruchamiania zadań usługi Azure Databricks, zobacz Planowanie i organizowanie przepływów pracy.