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á ikonaNový 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 Type(Typ) vyberte Python Wheel.

  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 kolekci entry_points ve skriptu setup.py. V tomto příkladu run je jediným definovaným vstupním bodem.

  7. V Výpočtyvyberte 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. 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.
  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. 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 .