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.
- Na bočním panelu klikněte na
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 Type(Typ) vyberte Python Wheel.
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 v kolekcientry_points
ve skriptusetup.py
. V tomto příkladurun
je jediným definovaným vstupním bodem.V Výpočtyvyberte 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.
Ve Parametrechvyberte poziční argumenty nebo klíčové argumenty, abyste zadali 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. Pokud chcete zobrazit podrobnosti spuštění pro běh, klikněte na Zobrazit spuštění ve vyskakovacím okně Aktivované spuštění nebo klikněte na odkaz ve sloupci Čas spuštění pro běh v zobrazení běhů ú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 Přehled orchestrace vDatabricks .