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 asetuptool
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_points
a 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.
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' ] )
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
Nyissa meg az Azure Databricks kezdőlapját, és tegye az alábbiak egyikét:
- Az oldalsávon kattintson a Munkafolyamatok elemre, majd a gombra.
- Az oldalsávon kattintson az Új gombra, és válassza a Feladat lehetőséget a menüből.
A Feladatok lapon megjelenő feladat párbeszédpanelen cserélje le a Feladat neve hozzáadása... elemet például
Python wheel example
a feladat nevére.A Tevékenység név mezőbe írja be például
python_wheel_task
a tevékenység nevét.A Típus mezőben válassza a Python Wheel elemet.
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ábansetup.py
a csomag neve a paraméterhez rendelt érték.name
A Belépési pont mezőbe írja be a következőt
run
: A belépési pont a szkript gyűjteményébenentry_points
setup.py
megadott értékek egyike. Ebben a példábanrun
az egyetlen belépési pont van definiálva.A Computeben válasszon ki egy meglévő feladatfürtöt, vagy adjon hozzá új feladatfürtöt.
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.Kattintson a Hozzáadás gombra.
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.
- Pozícióargumentumok megadásához adjon meg paramétereket JSON-formátumú sztringtömbként, például:
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 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.