Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a lap bemutatja, hogyan hozhat létre, helyezhet üzembe és futtathat Python-kerekes fájlokat a Databricks Asset Bundles használatával. Lásd Mik azok a Databricks-eszközcsomagok?.
Egy példakonfiguráció, amely egy JAR-t állít össze és feltölti a Unity Catalogba, lásd: JAR-fájlt feltöltő csomag a Unity Catalog.
Requirements
- A Databricks CLI 0.218.0-s vagy újabb verziója telepítve van, és a hitelesítés konfigurálva van. A Databricks parancssori felület telepített verziójának ellenőrzéséhez futtassa a parancsot
databricks -v. A Databricks parancssori felületének telepítéséhez lásd a Databricks parancssori felület telepítését vagy frissítését. A hitelesítés konfigurálásához lásd : A munkaterülethez való hozzáférés konfigurálása. - uv szükséges a tesztek futtatásához és a projekthez tartozó függőségek ide-ből való telepítéséhez.
- A távoli munkaterületen engedélyezni kell a munkaterület fájljait. Lásd: Mik azok a munkaterületfájlok?.
- Egy meglévő katalógus. Katalógus létrehozásához lásd a Katalógusok létrehozása című témakört.
A csomag létrehozása sablonnal
Hozza létre a csomagot a Python Databricks Asset Bundles alapértelmezett csomagsablonjának használatával. Ez a csomag egy Python-kerékfájlba építendő fájlokból és egy Azure Databricks-feladat definícióból áll a Python-kerékfájl létrehozásához. Ezután érvényesítheti, üzembe helyezheti és létrehozhatja az üzembe helyezett fájlokat egy Python-kerékfájlba az Azure Databricks-munkaterületen található Python-kerekes feladatból.
Ha teljesen új csomagot szeretne létrehozni, olvassa el a Csomag létrehozása manuálisan című témakört.
1. lépés: A csomag létrehozása
A csomag tartalmazza az üzembe helyezni kívánt objektumokat és a futtatni kívánt munkafolyamatok beállításait.
A terminál vagy a parancssor használatával váltson egy könyvtárra a helyi fejlesztőgépen, amely tartalmazza a sablon által létrehozott csomagot.
A parancs futtatásához használja a Databricks parancssori
bundle initfelületének verzióját:databricks bundle initTemplate to useesetén hagyja meg az alapértelmezett értéketdefault-pythonaEnterbillentyű lenyomásával.Ehhez
Unique name for this projecthagyja meg az alapértelmezett értéketmy_project, vagy írjon be egy másik értéket, majd nyomja le a billentyűtEnter. Ez határozza meg a csomag gyökérkönyvtárának nevét. Az aktuális munkakönyvtáron belül lett létrehozva ez a gyökérkönyvtár.A(z)
Include a job that runs a notebookkiválasztásához válassza anolehetőséget, és nyomja meg aEnterbillentyűt. Ez arra utasítja a Databricks parancssori felületét, hogy ne vegyen fel mintajegyzetfüzetet a csomagba.A(z)
Include an ETL pipelinekiválasztásához válassza anolehetőséget, és nyomja meg aEnterbillentyűt. Ez arra utasítja a Databricks parancssori felületét, hogy ne definiáljon mintafolyamatot a csomagban.Include a stub (sample) Python packageesetén hagyja meg az alapértelmezett értéketyesaEnterbillentyű lenyomásával. Ez arra utasítja a Databricks CLI-t, hogy adjon hozzá minta Python wheel csomag fájlokat és a kapcsolódó build utasításokat a csomaghoz.A(z)
Use serverlesskiválasztásához válassza ayeslehetőséget, és nyomja meg aEnterbillentyűt. Ez arra utasítja a Databricks parancssori felületét, hogy konfigurálja a csomagot úgy, hogy kiszolgáló nélküli számításon fusson.Adja
Default catalog for any tables created by this project [hive_metastore]meg egy meglévő Unity Catalog-katalógus nevét.Válassza
Use a personal schema for each user working on this project.ayesszámára.
2. lépés: A csomag felfedezése
A sablon által létrehozott fájlok megtekintéséhez váltson az újonnan létrehozott csomag gyökérkönyvtárára, és nyissa meg ezt a könyvtárat az előnyben részesített IDE-vel. A különösen fontos fájlok közé tartoznak a következők:
-
databricks.yml: Ez a fájl megadja a csomag nevét, hivatkozik a csomag fájljaira, megadjawhla buildbeállításokat, meghatározza a katalógus- és sémaváltozókat, valamint megadja a cél-munkaterületek beállításait. -
resources/sample_job.job.yml: Ez a fájl megadja a Python wheel feladat beállításait. A feladatbeállításokról további információt a feladatban talál. -
src/: Ez a mappa tartalmazza azokat a fájlokat, amelyeket a Python-kerekes feladat a Python-kerékfájl létrehozásához használ. -
tests/: Ez a mappa mintaegység-teszteket tartalmaz. -
README.md: Ez a fájl további információkat tartalmaz a csomagsablon első lépéseiről és használatáról.
Note
Ha a Python-kerékfájlt a Databricks Runtime 12.2 LTS-es vagy újabb verziójával rendelkező fürtre szeretné telepíteni, a következő legfelső szintű leképezést kell hozzáadnia a databricks.yml fájlhoz:
# Applies to all tasks of type python_wheel_task.
experimental:
python_wheel_wrapper: true
3. lépés: A csomagkonfiguráció ellenőrzése
Most ellenőrizze, hogy a csomagkonfiguráció érvényes-e.
A gyökérkönyvtárból a Databricks parancssori felületével futtassa a
bundle validatekövetkező parancsot:databricks bundle validateHa a csomagkonfiguráció összegzését adja vissza, az ellenőrzés sikeres volt. Ha bármilyen hibát ad vissza, javítsa ki a hibákat, majd ismételje meg ezt a lépést.
4. lépés: A csomag üzembe helyezése a távoli munkaterületen
Ezután helyezze üzembe a csomagot a távoli Azure Databricks-munkaterületen. Ezzel létrehozza a Python-kerékfájlt. Ellenőrizze, hogy létre lett-e hozva egy Azure Databricks-feladat a munkaterületen belül.
A csomag gyökeréből a Databricks parancssori felületével futtassa a
bundle deploykövetkező parancsot:databricks bundle deploy --target devGyőződjön meg arról, hogy a helyileg létrehozott Python-kerékfájl üzembe lett helyezve:
- Az Azure Databricks-munkaterület oldalsávján kattintson a Munkaterület elemre.
- Kattintson a következő mappára: Workspace > Users >
<your-username>>.bundle ><project-name>> dev > artifacts > .internal><whl-file-name>.whl.
A Python-kerékfájlnak ebben a mappában kell lennie.
Ellenőrizze, hogy a feladat létrejött-e:
- Az Azure Databricks-munkaterület oldalsávján kattintson a Feladatok > Folyamatok elemre.
- Ha szeretné, válassza ki a Feladatok és a Saját tulajdonú szűrőket.
- Kattintson a [dev
<your-username>]sample_job. - Kattintson a Feladatok fülre. Egy python_wheel_task kell lennie.
Ha a lépés után módosítja a csomagot, ismételje meg a 3–4. lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e, majd telepítse újra a projektet.
5. lépés: Az üzembe helyezett projekt futtatása
Most aktiválja az Azure Databricks-feladat futtatását a munkaterületen.
A gyökérkönyvtárból a Databricks parancssori felületével futtassa a
bundle runkövetkező parancsot:databricks bundle run --target dev sample_jobMásolja ki a terminálban megjelenő értéket
Run URL, és illessze be ezt az értéket a webböngészőbe az Azure Databricks-munkaterület megnyitásához.Az Azure Databricks-munkaterületen, miután a feladat sikeresen befejeződött, és zöld címsort jelenít meg, kattintson a feladat tevékenységére az eredmények megtekintéséhez.
A whl összeállítása a Poetry vagy a setuptools használatával
Ha az alapértelmezett Python-sablont használja databricks bundle init, létrejön egy csomag, amely bemutatja, hogyan konfigurálható egy csomag, ami Python-kereket hoz létre uv és pyproject.toml használatával. Érdemes lehet azonban inkább a Poetryt vagy setuptools használni, hogy kereket építsünk.
A Poetry vagy a setuptools telepítése
Telepítse a(z) Poetry-t vagy
setuptools:Poetry
-
Telepítse a Poetry 1.6-os vagy újabb verzióját, ha még nincs telepítve. A Poetry telepített verziójának ellenőrzéséhez futtassa a parancsot
poetry -Vvagypoetry --versiona . - Győződjön meg arról, hogy telepítve van a Python 3.10-es vagy újabb verziója. A Python verziójának ellenőrzéséhez futtassa a parancsot
python -Vvagypython --versiona .
Setuptools
Ha még nincsenek telepítve, telepítse a
wheeléssetuptoolscsomagokat az alábbi parancs futtatásával:pip3 install --upgrade wheel setuptools-
Telepítse a Poetry 1.6-os vagy újabb verzióját, ha még nincs telepítve. A Poetry telepített verziójának ellenőrzéséhez futtassa a parancsot
Ha ezt a csomagot egy Git-szolgáltatóval kívánja tárolni, vegyen fel egy
.gitignorefájlt a projekt gyökérkönyvtárában, és adja hozzá a következő bejegyzéseket ehhez a fájlhoz:Poetry
.databricks distSetuptools
.databricks build dist src/my_package/my_package.egg-info
Buildfájlok hozzáadása
A csomag gyökérkönyvtárában hozza létre a következő mappákat és fájlokat, attól függően, hogy a Poetry-t vagy a
setuptools-t használja a Python wheel fájlok létrehozásához:Poetry
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── pyproject.tomlSetuptools
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── setup.pyAdja hozzá a következő kódot a
pyproject.tomlfájlhozsetup.py:Pyproject.toml
[tool.poetry] name = "my_package" version = "0.0.1" description = "<my-package-description>" authors = ["my-author-name <my-author-name>@<my-organization>"] [tool.poetry.dependencies] python = "^3.10" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] main = "my_package.main:main"- Cserélje le
my-author-namea szervezet elsődleges kapcsolattartójának a nevét. - Cserélje le
my-author-name>@<my-organizationa szervezet elsődleges e-mail-címére. - Cserélje le
<my-package-description>a Python-kerekes fájl megjelenítési leírására.
Setup.py
from setuptools import setup, find_packages import src setup( name = "my_package", version = "0.0.1", author = "<my-author-name>", url = "https://<my-url>", author_email = "<my-author-name>@<my-organization>", description = "<my-package-description>", packages=find_packages(where='./src'), package_dir={'': 'src'}, entry_points={ "packages": [ "main=my_package.main:main" ] }, install_requires=[ "setuptools" ] )- Cserélje le a elemet
https://<my-url>a szervezet URL-címére. - Cserélje le
<my-author-name>a szervezet elsődleges kapcsolattartójának a nevét. - Cserélje le
<my-author-name>@<my-organization>a szervezet elsődleges e-mail-címére. - Cserélje le
<my-package-description>a Python-kerekes fájl megjelenítési leírására.
- Cserélje le
Összetevők csomagkonfigurációjának hozzáadása
Adja hozzá a leképezési
artifactskonfigurációt azdatabricks.ymlösszetevő létrehozásáhozwhl:Poetry
Ez a konfiguráció futtatja a
poetry buildparancsot, és azt jelzi, hogy apyproject.tomlfájl elérési útja ugyanabban a könyvtárban található, mint adatabricks.ymlfájl.Note
Ha már létrehozott egy Python-kerékfájlt, és csak telepíteni szeretné, módosítsa a következő csomagkonfigurációs fájlt a
artifactsleképezés kihagyásával. A Databricks CLI ezután feltételezi, hogy a Python-kerékfájl már elkészült, és automatikusan üzembe helyezi alibrariestömbwhlbejegyzéseiben megadott fájlokat.bundle: name: my-wheel-bundle artifacts: default: type: whl build: poetry build path: . resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: Standard_DS3_v2 data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>Setuptools
Ez a konfiguráció futtatja a
setuptoolsparancsot, és azt jelzi, hogy asetup.pyfájl elérési útja ugyanabban a könyvtárban található, mint adatabricks.ymlfájl.bundle: name: my-wheel-bundle artifacts: default: type: whl build: python3 setup.py bdist wheel path: . resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: Standard_DS3_v2 data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>