Python-kerekes fájl fejlesztése a Databricks Asset Bundles használatával
Ez a cikk bemutatja, hogyan hozhat létre, helyezhet üzembe és futtathat Python-kerekes fájlokat egy Databricks Asset Bundle-projekt részeként. Mik azok a Databricks-eszközcsomagok?
Követelmények
- A Databricks CLI 0.218.0-s vagy újabb verziója. 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 távoli munkaterületen engedélyezni kell a munkaterület fájljait. Lásd: Mik azok a munkaterületfájlok?.
Döntés: A csomag létrehozása manuálisan vagy sablon használatával
Döntse el, hogy sablonnal szeretne-e kezdőcsomagot létrehozni, vagy manuálisan szeretné létrehozni a csomagot. A köteg sablonnal való létrehozása gyorsabb és egyszerűbb, de előfordulhat, hogy a csomag nem szükséges tartalmat hoz létre, és a csomag alapértelmezett beállításait tovább kell testre szabni a valós alkalmazásokhoz. A köteg manuális létrehozásával teljes mértékben szabályozhatja a csomag beállításait, de ismernie kell a csomagok működését, mivel az elejétől kezdve minden munkát elvégez. Válasszon az alábbi lépések közül:
A csomag létrehozása sablonnal
Ezekben a lépésekben a pythonhoz készült Azure Databricks alapértelmezett csomagsablon használatával hozza létre a csomagot. Ezekkel a lépésekkel létrehozhat egy csomagot, amely egy Python-kerekes fá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.
A Pythonhoz készült Azure Databricks alapértelmezett csomagsablonja setuptools használatával hozza létre a Python-kerékfájlt. Ha a Python-kerékfájlt a Poetry használatával szeretné felépíteni, kövesse az ebben a szakaszban található utasításokat, hogy ehelyett felcserélje az setuptools
implementációt egy Poetry-implementációra.
1. lépés: Hitelesítés beállítása
Ebben a lépésben beállítja a hitelesítést a fejlesztői gépen található Databricks parancssori felület és az Azure Databricks-munkaterület között. Ez a cikk feltételezi, hogy OAuth felhasználó–gép (U2M) hitelesítést és egy hitelesítéshez elnevezett DEFAULT
Azure Databricks-konfigurációs profilt szeretne használni.
Feljegyzés
A U2M-hitelesítés megfelelő ezeknek a lépéseknek a valós idejű kipróbálásához. A teljes mértékben automatizált munkafolyamatok esetében a Databricks azt javasolja, hogy inkább OAuth machine-to-machine (M2M) hitelesítést használjon. Tekintse meg az M2M-hitelesítés beállítási utasításait a hitelesítésben.
Az OAuth-jogkivonatok helyi felügyeletének elindításához használja a Databricks parancssori felületét az alábbi parancs futtatásával minden cél-munkaterületen.
Az alábbi parancsban cserélje le
<workspace-url>
például az Azure Databricks munkaterületenkénti URL-címéthttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
A Databricks parancssori felülete kéri, hogy mentse az Azure Databricks konfigurációs profiljaként megadott adatokat. Nyomja le
Enter
a javasolt profilnevet, vagy adja meg egy új vagy meglévő profil nevét. Az azonos nevű meglévő profilokat felülírja a megadott adatokkal. Profilok használatával gyorsan válthat a hitelesítési környezetre több munkaterületen.A meglévő profilok listájának lekéréséhez egy külön terminálban vagy parancssorban futtassa a Parancsot
databricks auth profiles
a Databricks parancssori felületével. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsotdatabricks auth env --profile <profile-name>
.A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.
A profil aktuális OAuth-tokenértékének és a jogkivonat közelgő lejárati időbélyegének megtekintéséhez futtassa az alábbi parancsok egyikét:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Ha több azonos értékű profillal rendelkezik
--host
, előfordulhat, hogy együtt kell megadnia azokat és-p
a--host
beállításokat, hogy a Databricks parancssori felülete megkeresse a megfelelő OAuth-jogkivonat-információkat.
2. lépés: A csomag létrehozása
A csomag tartalmazza az üzembe helyezni kívánt összetevőket é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 init
felületének verzióját:databricks bundle init
A beállításnál
Template to use
hagyja meg az alapértelmezett értéketdefault-python
a billentyű lenyomásávalEnter
.Ehhez
Unique name for this project
hagyja 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. Ez a gyökérkönyvtár az aktuális munkakönyvtárban jön létre.Válassza ki
no
és nyomja leEnter
a következőtInclude a stub (sample) notebook
: Ez arra utasítja a Databricks parancssori felületét, hogy ne vegyen fel mintajegyzetfüzetet a csomagba.Válassza ki
no
és nyomja leEnter
a következőtInclude a stub (sample) DLT pipeline
: Ez arra utasítja a Databricks parancssori felületét, hogy ne definiáljon minta Delta Live Tables-folyamatot a csomagban.A beállításnál
Include a stub (sample) Python package
hagyja meg az alapértelmezett értéketyes
a billentyű lenyomásávalEnter
. Ez arra utasítja a Databricks cli-t, hogy vegyen fel minta Python-csomagfájlokat és a kapcsolódó buildelési utasításokat a csomaghoz.
3. 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, például a Visual Studio Code-tal. A különösen fontos fájlok közé tartoznak a következők:
databricks.yml
: Ez a fájl megadja a csomag programozott nevét, hivatkozik a Python-kerék feladatdefiníciójára, és megadja a cél-munkaterület beállításait.resources/<project-name>_job.yml
: Ez a fájl megadja a Python-feladat beállításait.src/<project-name>
: Ez a könyvtár tartalmazza azokat a fájlokat, amelyeket a Python-kerekes feladat a Python-kerékfájl létrehozásához használ.
Feljegyzés
Ha a Python kerékfájlt olyan célfürtre szeretné telepíteni, amelyen telepítve van a Databricks Runtime 12.2 LTS vagy újabb verziója, 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
Ez a leképezés arra utasítja a Databricks parancssori felületét, hogy tegye a következőket:
- Helyezzen üzembe egy másolatot a Python-kerékfájlról a háttérben. Ez az üzembe helyezési útvonal általában
${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
. - Hozzon létre egy jegyzetfüzetet a háttérben, amely utasításokat tartalmaz az előző üzembe helyezett Python-kerékfájlnak a célfürtre való telepítéséhez. Ez a jegyzetfüzet elérési útja általában
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
. - Amikor egy Python-kereket tartalmazó feladatot futtat, és a tevékenységek az előző Python-kerékfájlra hivatkoznak, a rendszer létrehoz egy feladatot a háttérben, amely az előző jegyzetfüzetet futtatja.
Ezt a leképezést nem kell megadnia a Databricks Runtime 13.1 vagy újabb verziójával rendelkező célfürtökhöz, mivel az Azure Databricks-munkaterület fájlrendszeréből származó Python-keréktelepítések automatikusan települnek ezekre a célfürtökre.
4. lépés: A projekt csomagjának frissítése a Poetry használatára
Alapértelmezés szerint a csomagsablon a Python-kerékfájlt setuptools
a fájlok setup.py
és requirements-dev.txt
a . Ha meg szeretné tartani ezeket az alapértelmezett beállításokat, ugorjon az 5. lépésre : Ellenőrizze a projekt csomagkonfigurációs fájlját.
Ha frissíteni szeretné a projekt csomagját a Poetry helyett setuptools
, győződjön meg arról, hogy a helyi fejlesztőgép megfelel a következő követelményeknek:
- A Poetry 1.6-os vagy újabb verziója. A Poetry telepített verziójának ellenőrzéséhez futtassa a parancsot
poetry -V
vagypoetry --version
a . A Poetry telepítéséhez vagy frissítéséhez tekintse meg a Telepítés című témakört. - A Python 3.10-es vagy újabb verziója. A Python verziójának ellenőrzéséhez futtassa a parancsot
python -V
vagypython --version
a . - A Databricks CLI 0.209.0-s vagy újabb verziója. A Databricks parancssori felületének verziójához futtassa a parancsot
databricks -v
vagydatabricks --version
a . Lásd: A Databricks parancssori felület telepítése vagy frissítése.
Végezze el a következő módosításokat a projekt kötegében:
A csomag gyökérkönyvtárából inicializálja
poetry
a Python wheel buildeket a Poetryhez az alábbi parancs futtatásával:poetry init
A Versek számos kérést jelenít meg a befejezéshez. A Python-kerék buildjeihez az alábbi utasításokat kell megválaszolnia, hogy megfeleljenek a projekt csomagjának kapcsolódó alapértelmezett beállításainak:
- Írja
Package name
be a gyermekmappa nevét az alá/src
, majd nyomja le a billentyűtEnter
. Ennek a csomagnak a csomagname
fájljában meghatározott értékéneksetup.py
is kell lennie. - Írja
Version
be és nyomja leEnter
a következőt0.0.1
: Ez megegyezik a csomagsrc/<project-name>/__init__.py
fájljában definiált verziószámmal. - Írja
Description
bewheel file based on <project-name>/src
(cserélje le<project-name>
a projekt nevére), és nyomja le a billentyűtEnter
. Ez megegyezik adescription
sablon fájljábansetup.py
definiált értékkel. - Ehhez
Author
nyomja le a következőtEnter
: . Ez az alapértelmezett érték megegyezik a sablon fájljában definiált szerzőneksetup.py
. - Ehhez
License
nyomja le a következőtEnter
: . Nincs definiálva licenc a sablonban. - Itt
Compatible Python versions
adhatja meg a Python-verziót, amely megfelel a cél Azure Databricks-fürtöken lévő verziónak (például^3.10
), és nyomja le a billentyűtEnter
. - Gépeléshez
Would you like to define your main dependencies interactively?
no
és nyomja leEnter
a billentyűt. A függőségeket később fogja meghatározni. - Gépeléshez
Would you like to define your development dependencies interactively?
no
és nyomja leEnter
a billentyűt. A függőségeket később fogja meghatározni. - Nyomja le a
Do you confirm generation?
billentyűtEnter
.
- Írja
Miután elvégezte az utasításokat, a Poetry hozzáad egy
pyproject.toml
fájlt a csomag projektéhez. A fájlról további információt apyproject.toml
The pyproject.toml fájlban talál.A csomag gyökérkönyvtárából utasítsa
poetry
apyproject.toml
fájl olvasását, a függőségek feloldását és telepítését, hozzon létre egypoetry.lock
fájlt a függőségek zárolásához, végül pedig hozzon létre egy virtuális környezetet. Ehhez futtassa az alábbi parancsot:poetry install
Adja hozzá a következő szakaszt a
pyproject.toml
fájl végéhez, és cserélje le<project-name>
a fájlt tartalmazósrc/<project-name>/main.py
könyvtár nevére (példáulmy_project
):[tool.poetry.scripts] main = "<project-name>.main:main"
A szakasz megadja a Python-kerék belépési pontját a Python-kerék feladatához.
Adja hozzá a következő leképezést a csomag fájljának
databricks.yml
legfelső szintjén:artifacts: default: type: whl build: poetry build path: .
Ez a leképezés arra utasítja a Databricks parancssori felületét, hogy a Poetry használatával hozzon létre egy Python-kerékfájlt.
Törölje a
setup.py
csomagot ésrequirements-dev.txt
a fájlokat, mivel a Poetrynek nincs rájuk szüksége.
5. lépés: A projekt csomagkonfigurációs fájljának ellenőrzése
Ebben a lépésben ellenőrzi, hogy a csomagkonfiguráció érvényes-e.
A gyökérkönyvtárból a Databricks parancssori felületével futtassa a parancsot az
bundle validate
alábbiak szerint:databricks bundle validate
Ha 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.
Ha a lépés után módosítja a csomagot, ismételje meg ezt a lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e.
6. lépés: A Python-kerékfájl létrehozása és a helyi projekt üzembe helyezése a távoli munkaterületen
Ebben a lépésben létrehozza a Python-kerékfájlt, üzembe helyezi a beépített Python-kerékfájlt a távoli Azure Databricks-munkaterületen, és létrehozza az Azure Databricks-feladatot a munkaterületen belül.
Ha használja
setuptools
, telepítse a csomagokat éssetuptools
awheel
csomagokat, ha még nem tette meg, futtassa a következő parancsot:pip3 install --upgrade wheel setuptools
A Visual Studio Code terminálban a Databricks parancssori felülettel futtassa a parancsot az
bundle deploy
alábbiak szerint:databricks bundle deploy -t dev
Ha ellenőrizni szeretné, hogy a helyileg létrehozott Python-kerékfájl üzembe lett-e helyezve:
- Az Azure Databricks-munkaterület oldalsávján kattintson a Munkaterület elemre.
- Kattintson a következő mappába: Workspace > Users >>
<your-username>
.bundle ><project-name>
> dev > artifacts > .internal .><random-guid>
A Python-kerékfájlnak ebben a mappában kell lennie.
Ha ellenőrizni szeretné, hogy a feladat létrejött-e:
- Az Azure Databricks-munkaterület oldalsávján kattintson a Munkafolyamatok elemre.
- A Feladatok lapon kattintson a [dev
<your-username>
]<project-name>
_job elemre. - Kattintson a Feladatok fülre.
Egy feladatnak kell lennie: main_task.
Ha a lépés után módosítja a csomagot, ismételje meg az 5–6. lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e, majd telepítse újra a projektet.
7. lépés: Az üzembe helyezett projekt futtatása
Ebben a lépésben futtatja az Azure Databricks-feladatot a munkaterületen.
A gyökérkönyvtárból a Databricks parancssori felülettel futtassa a
bundle run
parancsot az alábbiak szerint, a 2. lépésben a projekt nevére cserélve<project-name>
:databricks bundle run -t dev <project-name>_job
Má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 main_task tevékenységre az eredmények megtekintéséhez.
Ha a lépés után módosítja a csomagot, ismételje meg az 5–7. lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e, újra üzembe helyezi a projektet, és futtassa az újra üzembe helyezést.
Elérte a csomag sablonnal történő létrehozásának lépéseinek végét.
A csomag manuális létrehozása
Ezekben a lépésekben kézzel hozza létre a csomagot. Ezekkel a lépésekkel létrehozhat egy csomagot, amely egy Python-kerékfájlba építendő fájlokból és egy 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 a Databricks-munkaterületen található Python-kerekes feladatból.
Ezek a lépések magukban foglalják a tartalom YAML-fájlhoz való hozzáadását. Szükség esetén érdemes lehet olyan integrált fejlesztési környezetet (IDE) használni, amely automatikus sémajavaslatokat és műveleteket biztosít a YAML-fájlok használatakor. Az alábbi lépések a Visual Studio Code-ot és a Visual Studio Code Marketplace-ről telepített YAML-bővítményt használják.
Ezek a lépések feltételezik, hogy már tudja:
- Python-kerekes fájlok létrehozása, létrehozása és használata a Poetry vagy
setuptools
a . A Versek témakört az Alapszintű használat című témakörben talál. További információtsetuptools
a Python csomagolási felhasználói útmutatójában talál. - Python-kerekes fájlok használata egy Azure Databricks-feladat részeként. Lásd: Python-kerekes fájl használata egy Azure Databricks-feladatban.
Az alábbi utasításokat követve hozzon létre egy mintacsomagot, amely létrehoz egy Python-kerékfájlt a Poetryvel, vagy setuptools
telepíti a Python-kerékfájlt, majd futtatja az üzembe helyezett Python-kerékfájlt.
Ha már létrehozott egy Python-kerékfájlt, és csak üzembe szeretné helyezni és futtatni szeretné, ugorjon előre a Python-kerék beállításainak megadásához a csomagkonfigurációs fájlban a 3. lépésben : Hozza létre a csomag konfigurációs fájlját.
1. lépés: Hitelesítés beállítása
Ebben a lépésben beállítja a hitelesítést a fejlesztői gépen található Databricks parancssori felület és az Azure Databricks-munkaterület között. Ez a cikk feltételezi, hogy OAuth felhasználó–gép (U2M) hitelesítést és egy hitelesítéshez elnevezett DEFAULT
Azure Databricks-konfigurációs profilt szeretne használni.
Feljegyzés
A U2M-hitelesítés megfelelő ezeknek a lépéseknek a valós idejű kipróbálásához. A teljes mértékben automatizált munkafolyamatok esetében a Databricks azt javasolja, hogy inkább OAuth machine-to-machine (M2M) hitelesítést használjon. Tekintse meg az M2M-hitelesítés beállítási utasításait a hitelesítésben.
Az OAuth-jogkivonatok helyi felügyeletének elindításához használja a Databricks parancssori felületét az alábbi parancs futtatásával minden cél-munkaterületen.
Az alábbi parancsban cserélje le
<workspace-url>
például az Azure Databricks munkaterületenkénti URL-címéthttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
A Databricks parancssori felülete kéri, hogy mentse az Azure Databricks konfigurációs profiljaként megadott adatokat. Nyomja le
Enter
a javasolt profilnevet, vagy adja meg egy új vagy meglévő profil nevét. Az azonos nevű meglévő profilokat felülírja a megadott adatokkal. Profilok használatával gyorsan válthat a hitelesítési környezetre több munkaterületen.A meglévő profilok listájának lekéréséhez egy külön terminálban vagy parancssorban futtassa a Parancsot
databricks auth profiles
a Databricks parancssori felületével. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsotdatabricks auth env --profile <profile-name>
.A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.
A profil aktuális OAuth-tokenértékének és a jogkivonat közelgő lejárati időbélyegének megtekintéséhez futtassa az alábbi parancsok egyikét:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Ha több azonos értékű profillal rendelkezik
--host
, előfordulhat, hogy együtt kell megadnia azokat és-p
a--host
beállításokat, hogy a Databricks parancssori felülete megkeresse a megfelelő OAuth-jogkivonat-információkat.
2. lépés: A csomag létrehozása
A csomag tartalmazza az üzembe helyezni kívánt összetevőket és a futtatni kívánt munkafolyamatok beállításait.
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 Poetryt vagy
setuptools
a Python-kerékfájlokat használja-e:Költészet
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── pyproject.toml
Setuptools
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── setup.py
Hagyja üresen a
__init__.py
fájlt.Adja hozzá a következő kódot a
main.py
fájlhoz, majd mentse a fájlt:from my_package.my_module import * def main(): first = 200 second = 400 print(f"{first} + {second} = {add_two_numbers(first, second)}") print(f"{second} - {first} = {subtract_two_numbers(second, first)}") print(f"{first} * {second} = {multiply_two_numbers(first, second)}") print(f"{second} / {first} = {divide_two_numbers(second, first)}") if __name__ == "__main__": main()
Adja hozzá a következő kódot a
my_module.py
fájlhoz, majd mentse a fájlt:def add_two_numbers(a, b): return a + b def subtract_two_numbers(a, b): return a - b def multiply_two_numbers(a, b): return a * b def divide_two_numbers(a, b): return a / b
Adja hozzá a következő kódot a
pyproject.toml
fájlhoz,setup.py
majd mentse a fájlt: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-name
a szervezet elsődleges partnernevé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.
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
https://<my-url>
a szervezet URL-címét. - Cserélje le
<my-author-name>
a szervezet elsődleges partnernevé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
3. lépés: A csomag konfigurációs fájljának létrehozása
A csomagkonfigurációs fájl ismerteti az üzembe helyezni kívánt összetevőket és a futtatni kívánt munkafolyamatokat.
A csomag gyökérkönyvtárában adjon hozzá egy csomagkonfigurációs fájlt.
databricks.yml
Adja hozzá a következő kódot ehhez a fájlhoz:Költészet
Feljegyzés
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
artifacts
leké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 alibraries
tömbwhl
bejegyzé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
bundle: name: my-wheel-bundle 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>
Cserélje le
<workspace-url>
példáulhttps://adb-1234567890123456.7.azuredatabricks.net
a munkaterületenkénti URL-címet.A
artifacts
leképezés szükséges a Python-kerékfájlok a Poetryvel való létrehozásához, és nem kötelező a Python-kerekes fájloksetuptools
létrehozásához. Aartifacts
leképezés egy vagy több összetevődefiníciót tartalmaz a következő leképezésekkel:- A
type
megfeleltetésnek jelen kell lennie, és úgy kell beállítaniawhl
, hogy meg lehessen adni egy Python-kerekes fájl felépítését. Ezsetuptools
az alapértelmezett érték,whl
ha nincs megadva összetevődefiníció. - A
path
leképezés a Poetry fájl vagy apyproject.toml
setup.py
fájlsetuptools
elérési útját jelzi. Ez az elérési út adatabricks.yml
fájlhoz képest van. Alapértelmezéssetuptools
szerint ez az.
elérési út (ugyanaz a könyvtár, mint adatabricks.yml
fájl). - A
build
leképezés a Python-kerékfájl létrehozásához futtatandó egyéni buildparancsokat jelzi. Alapértelmezéssetuptools
szerint ez a parancs.python3 setup.py bdist wheel
- A
files
leképezés egy vagy többsource
leképezésből áll, amelyek megadják a Python-kerék buildjében felvenni kívánt további fájlokat. Nincs alapértelmezett beállítás.
Feljegyzés
Ha a Python kerékfájlt olyan célfürtre szeretné telepíteni, amelyen telepítve van a Databricks Runtime 12.2 LTS vagy újabb verziója, a következő legfelső szintű leképezést kell hozzáadnia a
databricks.yml
fájlhoz:# Applies to jobs with python_wheel_task and that use # clusters with Databricks Runtime 13.0 or below installed. experimental: python_wheel_wrapper: true
Ez a leképezés arra utasítja a Databricks parancssori felületét, hogy tegye a következőket:
- Üzembe helyezi a Python-kerékfájl másolatát a háttérben. Ez az üzembe helyezési útvonal általában
${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl
. - Létrehoz egy jegyzetfüzetet a háttérben, amely utasításokat tartalmaz az előző üzembe helyezett Python-kerékfájlnak a célfürtre való telepítéséhez. Ez a jegyzetfüzet elérési útja általában
${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>
. - Amikor egy Python-kerekes feladatot tartalmazó feladatot futtat, és a tevékenység az előző Python-kerékfájlra hivatkozik, létrejön egy feladat a háttérben, amely az előző jegyzetfüzetet futtatja.
Ezt a leképezést nem kell megadnia a Databricks Runtime 13.1 vagy újabb verziójával rendelkező célfürtökhöz, mivel az Azure Databricks-munkaterület fájlrendszeréből származó Python-keréktelepítések automatikusan települnek ezekre a célfürtökre.
- A
A Poetry használata esetén tegye a következőket:
- 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 -V
vagypoetry --version
a . - 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 -V
vagypython --version
a . - Győződjön meg arról, hogy a Databricks CLI 0.209.0-s vagy újabb verzióját használja. A Databricks parancssori felületének verziójához futtassa a parancsot
databricks -v
vagydatabricks --version
a . Lásd: A Databricks parancssori felület telepítése vagy frissítése.
- 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 használja
setuptools
, telepítse a csomagokat éssetuptools
awheel
csomagokat, ha még nincsenek telepítve, futtassa a következő parancsot:pip3 install --upgrade wheel setuptools
Ha ezt a csomagot egy Git-szolgáltatóval kívánja tárolni, vegyen fel egy
.gitignore
fájlt a projekt gyökérkönyvtárában, és adja hozzá a következő bejegyzéseket ehhez a fájlhoz:Költészet
.databricks dist
Setuptools
.databricks build dist src/my_package/my_package.egg-info
4. lépés: A projekt csomagkonfigurációs fájljának ellenőrzése
Ebben a lépésben ellenőrzi, hogy a csomagkonfiguráció érvényes-e.
A gyökérkönyvtárból ellenőrizze a csomagkonfigurációs fájlt:
databricks bundle validate
Ha 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.
Ha a lépés után módosítja a csomagot, ismételje meg ezt a lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e.
5. lépés: A Python-kerékfájl létrehozása és a helyi projekt üzembe helyezése a távoli munkaterületen
Hozza létre helyileg a Python-kereket, helyezze üzembe a beépített Python-kerékfájlt a munkaterületen, helyezze üzembe a jegyzetfüzetet a munkaterületen, és hozza létre a feladatot a munkaterületen:
databricks bundle deploy -t dev
6. lépés: Az üzembe helyezett projekt futtatása
Futtassa az üzembe helyezett feladatot, amely az üzembe helyezett jegyzetfüzet használatával hívja meg az üzembe helyezett Python-kerékfájlt:
databricks bundle run -t dev wheel-job
A kimenetben másolja ki és
Run URL
illessze be a webböngésző címsorába.A feladatfuttatás Kimenet lapján a következő eredmények jelennek meg:
200 + 400 = 600 400 - 200 = 200 200 * 400 = 80000 400 / 200 = 2.0
Ha a lépés után módosítja a csomagot, ismételje meg a 3–5. lépést annak ellenőrzéséhez, hogy a csomagkonfiguráció továbbra is érvényes-e, helyezze újra üzembe a projektet, és futtassa az újra üzembe helyezési projektet.
Python-kerekes fájl létrehozása és telepítése feladathoz
Ha Egy Python-kerekes fájlt a Poetryvel szeretne létrehozni, vagy setuptools
ezt a Python-kereket szeretné használni egy feladatban, hozzá kell adnia egy vagy két leképezést a databricks.yml
fájlhoz.
Ha a Poetryt használja, az alábbi artifacts
leképezést kell szerepeltetnie a databricks.yml
fájlban. Ez a leképezés futtatja a poetry build
parancsot, és a pyproject.toml
fájllal azonos könyvtárban databricks.yml
lévő fájlt használja:
artifacts:
default:
type: whl
build: poetry build
path: .
Feljegyzés
A artifacts
leképezés nem kötelező a következőhöz setuptools
: . Alapértelmezés szerint a Databricks parancssori felület futtatja a parancsotpython3 setup.py bdist_wheel
, setuptools
és a setup.py
fájllal databricks.yml
azonos könyvtárban lévő fájlt használja. A Databricks parancssori felülete feltételezi, hogy már futtatott egy parancsot, például pip3 install --upgrade wheel setuptools
a csomagok és setuptools
a wheel
csomagok telepítéséhez, ha még nincsenek telepítve.
Emellett a feladatfeladat leképezésének tartalmaznia libraries
kell egy whl
értéket, amely meghatározza az épített Python-kerékfájl elérési útját ahhoz a konfigurációs fájlhoz képest, amelyben deklarálva van. Az alábbi példa ezt egy jegyzetfüzet-feladatban szemlélteti (a három pont a rövidség kihagyott tartalmát jelzi):
resources:
jobs:
my-notebook-job:
name: my-notebook-job
tasks:
- task_key: my-notebook-job-notebook-task
notebook_task:
notebook_path: ./my_notebook.py
libraries:
- whl: ./dist/*.whl
new_cluster:
# ...
Python-kerékfájl létrehozása és telepítése folyamathoz
Ha Egy Python-kerékfájlt a Poetryvel szeretne létrehozni, vagy setuptools
egy Delta Live Tables-folyamatban lévő Python-kerékfájlra szeretne hivatkozni, akkor hozzá kell adnia egy leképezést a databricks.yml
fájlhoz, ha a Poetryt használja, és az alábbiak szerint hozzá kell adnia egy %pip install
parancsot a folyamatjegyzetfüzethez.
Ha a Poetryt használja, az alábbi artifacts
leképezést kell szerepeltetnie a databricks.yml
fájlban. Ez a leképezés futtatja a poetry build
parancsot, és a pyproject.toml
fájllal azonos könyvtárban databricks.yml
lévő fájlt használja:
artifacts:
default:
type: whl
build: poetry build
path: .
Feljegyzés
A artifacts
leképezés nem kötelező a következőhöz setuptools
: . Alapértelmezés szerint a Databricks parancssori felület futtatja a parancsotpython3 setup.py bdist_wheel
, setuptools
és a setup.py
fájllal databricks.yml
azonos könyvtárban lévő fájlt használja. A Databricks parancssori felülete feltételezi, hogy már futtatott egy parancsot, például pip3 install --upgrade wheel setuptools
a csomagok és setuptools
a wheel
csomagok telepítéséhez, ha még nincsenek telepítve.
Emellett a kapcsolódó folyamatjegyzetfüzetnek tartalmaznia kell egy %pip install
parancsot a létrehozott Python-kerékfájl telepítéséhez. Lásd a Python-kódtárakat.