Použití souboru kola Pythonu v úloze Azure Databricks
Soubor kola Pythonu je standardní způsob, jak zabalit a distribuovat soubory potřebné ke spuštění aplikace v Pythonu. Pomocí úlohy kolečka Pythonu můžete zajistit rychlou a spolehlivou instalaci kódu Pythonu v úlohách Azure Databricks. Tento článek obsahuje příklad vytvoření souboru kola Pythonu a úlohy, která spouští aplikaci zabalenou v souboru kola Pythonu. V tomto příkladu:
- Vytvořte soubory Pythonu definující ukázkovou aplikaci.
- Sbalte ukázkové soubory do souboru kola Pythonu.
- Vytvořte úlohu pro spuštění souboru kola Pythonu.
- Spusťte úlohu a zobrazte výsledky.
Než začnete
K dokončení tohoto příkladu potřebujete následující:
Python3
Python
wheel
asetuptool
balíčky. Tyto balíčky můžete nainstalovat.pip
Můžete například spustit následující příkaz, který nainstaluje tyto balíčky:pip install wheel setuptools
Krok 1: Vytvoření místního adresáře pro příklad
Vytvořte místní adresář pro uložení ukázkového kódu a vygenerovaných artefaktů, databricks_wheel_test
například .
Krok 2: Vytvoření ukázkového skriptu Pythonu
Následující příklad Pythonu je jednoduchý skript, který čte vstupní argumenty a vypíše tyto argumenty. Zkopírujte tento skript a uložte ho do cesty volané my_test_code/__main__.py
v adresáři, který jste vytvořili v předchozím 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: Vytvoření souboru metadat pro balíček
Následující soubor obsahuje metadata popisující balíček. Uložte ji do cesty volané my_test_code/__init__.py
v adresáři, který jste vytvořili v kroku 1.
__version__ = "0.0.1"
__author__ = "Databricks"
Krok 4: Vytvoření souboru kolečka Pythonu
Převod artefaktů Pythonu na soubor kola Pythonu vyžaduje zadání metadat balíčku, jako je název balíčku a vstupní body. Následující skript definuje tato metadata.
Poznámka:
Definovaný entry_points
v tomto skriptu slouží ke spuštění balíčku v pracovním postupu Azure Databricks. V každé hodnotě je entry_points
hodnota před =
(v tomto příkladu run
) název vstupního bodu a slouží ke konfiguraci úlohy kolečka Pythonu.
Uložte tento skript do souboru s názvem
setup.py
v kořenovém adresáři, který jste vytvořili v 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' ] )
Přejděte do adresáře, který jste vytvořili v kroku 1, a spuštěním následujícího příkazu zabalte kód do distribuce kol Pythonu:
python3 setup.py bdist_wheel
Tento příkaz vytvoří soubor kola Pythonu a uloží ho dist/my_test_package-0.0.1-py3.none-any.whl
do souboru ve vašem adresáři.
Krok 5. Vytvoření úlohy Azure Databricks pro spuštění souboru kola Pythonu
Přejděte na cílovou stránku Azure Databricks a udělejte jednu z těchto věcí:
- Na bočním panelu klikněte na Pracovní postupy a klikněte na .
- Na bočním panelu klikněte na Nový a v nabídce vyberte Úloha.
V dialogovém okně úkolu, které se zobrazí na kartě Úkoly , nahraďte přidat název úlohy... názvem vaší úlohy,
Python wheel example
například .Do pole Název úkolu zadejte název úkolu,
python_wheel_task
například .V možnosti Typ vyberte kolo Pythonu.
Do pole Název balíčku zadejte
my_test_package
. Hodnota Název balíčku je název balíčku Pythonu, který se má importovat. V tomto příkladu je název balíčku hodnota přiřazená parametruname
vsetup.py
.Do vstupního bodu zadejte
run
. Vstupní bod je jednou z hodnot zadaných ventry_points
kolekcisetup.py
ve skriptu. V tomto příkladurun
je jediným definovaným vstupním bodem.Ve službě Compute vyberte existující cluster úloh nebo přidejte nový cluster úloh.
Klikněte na Přidat v části Závislé knihovny. V dialogovém okně Přidat závislá knihovna s vybranou možností Pracovní prostor přetáhněte
my_test_package-0.0.1-py3-none-any.whl
soubor vytvořený v kroku 4 do oblasti rozevíracího souboru dialogového okna.Klikněte na tlačítko Přidat.
V části Parametry vyberte poziční argumenty nebo argumenty klíčového slova a zadejte klíč a hodnotu každého parametru. Poziční argumenty i argumenty klíčových slov se předávají úloze kolečka Pythonu jako argumenty příkazového řádku.
- Pokud chcete zadat poziční argumenty, zadejte parametry jako pole řetězců ve formátu JSON, například:
["first argument","first value","second argument","second value"]
. - Pokud chcete zadat argumenty klíčových slov, klikněte na + Přidat a zadejte klíč a hodnotu. Kliknutím na + Přidat znovu zadejte další argumenty.
- Pokud chcete zadat poziční argumenty, zadejte parametry jako pole řetězců ve formátu JSON, například:
Klikněte na Vytvořit úkol.
Krok 6: Spuštění úlohy a zobrazení podrobností o spuštění úlohy
Kliknutím spustíte pracovní postup. Chcete-li zobrazit podrobnosti o spuštění, klepněte na tlačítko Zobrazit spuštění v automaticky otevíraném okně Aktivované spuštění nebo klepněte na odkaz ve sloupci Čas spuštění pro spuštění v zobrazení spuštění úlohy.
Po dokončení spuštění se výstup zobrazí na panelu Výstup , včetně argumentů předaných úkolu.
Další kroky
Další informace o vytváření a spouštění úloh Azure Databricks najdete v tématu Plánování a orchestrace pracovních postupů.