Megosztás a következőn keresztül:


Python-kerekes fájl használata egy Azure Databricks-feladatban

A Python-kerekes fájlok szabványos módja a Python-alkalmazások futtatásához szükséges fájlok csomagolásának és terjesztésének. A Python-kerekes feladat használatával biztosíthatja a Python-kód gyors és megbízható telepítését az Azure Databricks-feladatokban. Ez a cikk egy Python-kerékfájl létrehozására és egy olyan feladat létrehozására mutat be példát, amely a Python-kerékfájlba csomagolt alkalmazást futtatja. Ebben a példában a következőt fogja:

  • Hozzon létre egy példaalkalmazást meghatározó Python-fájlokat.
  • Csomagolja a példafájlokat egy Python-kerékfájlba.
  • Hozzon létre egy feladatot a Python-kerékfájl futtatásához.
  • Futtassa a feladatot, és tekintse meg az eredményeket.

Előkészületek

A példa elvégzéséhez a következőkre van szüksége:

  • Python3

  • A Python wheel és a setuptool csomagok. pip Ezeket a csomagokat telepítheti. Az alábbi parancs futtatásával például telepítheti ezeket a csomagokat:

    pip install wheel setuptools
    

1. lépés: Helyi könyvtár létrehozása a példához

Hozzon létre egy helyi könyvtárat a példakód tárolásához, és hozzon létre összetevőket, például databricks_wheel_test.

2. lépés: A példa Python-szkript létrehozása

Az alábbi Python-példa egy egyszerű szkript, amely beolvassa a bemeneti argumentumokat, és kinyomtatja ezeket az argumentumokat. Másolja ki ezt a szkriptet, és mentse az előző lépésben létrehozott könyvtárban megadott my_test_code/__main__.py elérési útra.

"""
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()

3. lépés: Metaadatfájl létrehozása a csomaghoz

Az alábbi fájl a csomagot leíró metaadatokat tartalmazza. Mentse ezt az 1. lépésben létrehozott könyvtárban hívott my_test_code/__init__.py elérési útra.

__version__ = "0.0.1"
__author__ = "Databricks"

4. lépés: A Python-kerékfájl létrehozása

A Python-összetevők Python-kerékfájllá alakításához meg kell adnia a csomag metaadatait, például a csomag nevét és belépési pontjait. A következő szkript határozza meg ezt a metaadatokat.

Feljegyzés

A entry_points szkriptben definiált csomag az Azure Databricks-munkafolyamatban való futtatására szolgál. Minden értékben entry_pointsa fenti = érték (ebben a példában) a belépési pont neve, runés a Python-kerekes feladat konfigurálására szolgál.

  1. Mentse ezt a szkriptet az 1. lépésben létrehozott könyvtár gyökerében elnevezett setup.py fájlba:

    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. Váltson az 1. lépésben létrehozott könyvtárra, és futtassa a következő parancsot a kód Python-kerékeloszlásba való becsomagolásához:

    python3 setup.py bdist_wheel
    

Ez a parancs létrehozza a Python-kerekfájlt, és menti a dist/my_test_package-0.0.1-py3.none-any.whl könyvtárban lévő fájlba.

5. lépés. Azure Databricks-feladat létrehozása a Python-kerékfájl futtatásához

  1. Nyissa meg az Azure Databricks kezdőlapját, és tegye az alábbiak egyikét:

    • Az oldalsávon kattintson Munkafolyamatok ikon a Munkafolyamatok elemre, majd a Feladat létrehozása gombgombra.
    • Az oldalsávon kattintson az Új gombraÚj ikon, és válassza a Feladat lehetőséget a menüből.
  2. A Feladatok lapon megjelenő feladat párbeszédpanelen cserélje le a Feladat neve hozzáadása... elemet például Python wheel examplea feladat nevére.

  3. A Tevékenység név mezőbe írja be például python_wheel_taska tevékenység nevét.

  4. A Típus mezőben válassza a Python Wheel elemet.

  5. A Csomagnév mezőbe írja be a következőt my_test_package: A Csomagnév érték az importálandó Python-csomag neve. Ebben a példában setup.pya csomag neve a paraméterhez rendelt érték.name

  6. A Belépési pont mezőbe írja be a következőt run: A belépési pont a szkript gyűjteményében entry_points setup.py megadott értékek egyike. Ebben a példában run az egyetlen belépési pont van definiálva.

  7. A Computeben válasszon ki egy meglévő feladatfürtöt, vagy adjon hozzá új feladatfürtöt.

  8. Kattintson a Hozzáadás gombra a Függő kódtárak csoportban. A Függő tár hozzáadása párbeszédpanelen, amelyen a Munkaterület ki van jelölve, húzza a my_test_package-0.0.1-py3-none-any.whl 4. lépésben létrehozott fájlt a párbeszédpanel Drop file ide területére.

  9. Kattintson a Hozzáadás gombra.

  10. A Paraméterek területen válassza a Pozíció argumentumok vagy a Kulcsszó argumentumok lehetőséget az egyes paraméterek kulcsának és értékének megadásához. A rendszer parancssori argumentumként továbbítja a hely- és kulcsszóargumentumokat a Python-kerekes feladatnak.

    • Pozícióargumentumok megadásához adjon meg paramétereket JSON-formátumú sztringtömbként, például: ["first argument","first value","second argument","second value"].
    • Kulcsszóargumentumok megadásához kattintson a + Hozzáadás gombra, és adjon meg egy kulcsot és egy értéket. További argumentumok megadásához kattintson a + Hozzáadás gombra.
  11. Kattintson a Feladat létrehozása gombra.

6. lépés: A feladat futtatása és a feladat futtatásának részleteinek megtekintése

Kattintson ide Futtatás gomb a munkafolyamat futtatásához. A futtatás részleteinek megtekintéséhez kattintson a Futtatás nézetre az Aktivált futtatás előugró ablakban, vagy kattintson a feladatfuttatási nézetben a Futtatás indítása oszlopban található hivatkozásra.

Amikor a futtatás befejeződik, a kimenet megjelenik a Kimenet panelen, beleértve a feladatnak átadott argumentumokat is.

Következő lépések

Az Azure Databricks-feladatok létrehozásáról és futtatásáról további információt a munkafolyamatok ütemezése és vezénylése című témakörben talál.