Sdílet prostřednictvím


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 a setuptool 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_testnapří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_pointshodnota před = (v tomto příkladu run) název vstupního bodu a slouží ke konfiguraci úlohy kolečka Pythonu.

  1. 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'
      ]
    )
    
  2. 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

  1. 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 Ikona Pracovních postupůPracovní postupy a klikněte na .Tlačítko Vytvořit úlohu
    • Na bočním panelu klikněte na Nová ikona Nový a v nabídce vyberte Úloha.
  2. V dialogovém okně úkolu, které se zobrazí na kartě Úkoly , nahraďte přidat název úlohy... názvem vaší úlohy, Python wheel examplenapříklad .

  3. Do pole Název úkolu zadejte název úkolu, python_wheel_tasknapříklad .

  4. V možnosti Typ vyberte kolo Pythonu.

  5. 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á parametru name v setup.py.

  6. Do vstupního bodu zadejte run. Vstupní bod je jednou z hodnot zadaných v entry_points kolekci setup.py ve skriptu. V tomto příkladu run je jediným definovaným vstupním bodem.

  7. Ve službě Compute vyberte existující cluster úloh nebo přidejte nový cluster úloh.

  8. 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.

  9. Klikněte na tlačítko Přidat.

  10. 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.
  11. Klikněte na Vytvořit úkol.

Krok 6: Spuštění úlohy a zobrazení podrobností o spuštění úlohy

Kliknutím Tlačítko Spustit nyní 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ů.