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


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.

  1. 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>
    
  2. 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 profilesa Databricks parancssori felületével. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsot databricks auth env --profile <profile-name>.

  3. A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.

  4. 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.

  1. 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.

  2. A parancs futtatásához használja a Databricks parancssori bundle init felületének verzióját:

    databricks bundle init
    
  3. A beállításnál Template to usehagyja meg az alapértelmezett értéket default-python a billentyű lenyomásával Enter.

  4. Ehhez Unique name for this projecthagyja meg az alapértelmezett értéket my_project, vagy írjon be egy másik értéket, majd nyomja le a billentyűt Enter. 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.

  5. Válassza ki no és nyomja le Entera 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.

  6. Válassza ki no és nyomja le Entera 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.

  7. A beállításnál Include a stub (sample) Python packagehagyja meg az alapértelmezett értéket yes a billentyű lenyomásával Enter. 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.txta . 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 vagy poetry --versiona . 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 vagy python --versiona .
  • 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 vagy databricks --versiona . 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:

  1. 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
    
  2. 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:

    1. Írja Package namebe a gyermekmappa nevét az alá /src, majd nyomja le a billentyűt Enter. Ennek a csomagnak a csomag name fájljában meghatározott értékének setup.py is kell lennie.
    2. Írja Versionbe és nyomja le Entera következőt0.0.1: Ez megegyezik a csomag src/<project-name>/__init__.py fájljában definiált verziószámmal.
    3. Írja Descriptionbe wheel file based on <project-name>/src (cserélje le <project-name> a projekt nevére), és nyomja le a billentyűt Enter. Ez megegyezik a description sablon fájljában setup.py definiált értékkel.
    4. Ehhez Authornyomja le a következőt Enter: . Ez az alapértelmezett érték megegyezik a sablon fájljában definiált szerzőnek setup.py .
    5. Ehhez Licensenyomja le a következőt Enter: . Nincs definiálva licenc a sablonban.
    6. Itt Compatible Python versionsadhatja 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űt Enter.
    7. Gépeléshez Would you like to define your main dependencies interactively? no és nyomja le Entera billentyűt. A függőségeket később fogja meghatározni.
    8. Gépeléshez Would you like to define your development dependencies interactively? no és nyomja le Entera billentyűt. A függőségeket később fogja meghatározni.
    9. Nyomja le a Do you confirm generation? billentyűt Enter.
  3. 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 a pyproject.toml The pyproject.toml fájlban talál.

  4. A csomag gyökérkönyvtárából utasítsa poetry a pyproject.toml fájl olvasását, a függőségek feloldását és telepítését, hozzon létre egy poetry.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
    
  5. 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ául my_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.

  6. 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.

  7. Törölje a setup.py csomagot és requirements-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.

  1. 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
    
  2. 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.

  1. Ha használjasetuptools, telepítse a csomagokat és setuptools a wheel csomagokat, ha még nem tette meg, futtassa a következő parancsot:

    pip3 install --upgrade wheel setuptools
    
  2. 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
    
  3. Ha ellenőrizni szeretné, hogy a helyileg létrehozott Python-kerékfájl üzembe lett-e helyezve:

    1. Az Azure Databricks-munkaterület oldalsávján kattintson a Munkaterület elemre.
    2. 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.

  4. Ha ellenőrizni szeretné, hogy a feladat létrejött-e:

    1. Az Azure Databricks-munkaterület oldalsávján kattintson a Munkafolyamatok elemre.
    2. A Feladatok lapon kattintson a [dev <your-username>] <project-name>_job elemre.
    3. 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.

  1. 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
    
  2. 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.

  3. 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:

Az alábbi utasításokat követve hozzon létre egy mintacsomagot, amely létrehoz egy Python-kerékfájlt a Poetryvel, vagy setuptoolstelepí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.

  1. 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>
    
  2. 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 profilesa Databricks parancssori felületével. Egy adott profil meglévő beállításainak megtekintéséhez futtassa a parancsot databricks auth env --profile <profile-name>.

  3. A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.

  4. 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.

  1. 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
    
  2. Hagyja üresen a __init__.py fájlt.

  3. 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()
    
  4. 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
    
  5. 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.

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.

  1. 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 a libraries tömb whl 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ául https://adb-1234567890123456.7.azuredatabricks.neta 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ájlok setuptoolslétrehozásához. A artifacts 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ítania whl , hogy meg lehessen adni egy Python-kerekes fájl felépítését. Ez setuptoolsaz alapértelmezett érték, whl ha nincs megadva összetevődefiníció.
    • A path leképezés a Poetry fájl vagy a pyproject.toml setup.py fájl setuptoolselérési útját jelzi. Ez az elérési út a databricks.yml fájlhoz képest van. Alapértelmezés setuptoolsszerint ez az . elérési út (ugyanaz a könyvtár, mint a databricks.yml fájl).
    • A build leképezés a Python-kerékfájl létrehozásához futtatandó egyéni buildparancsokat jelzi. Alapértelmezés setuptoolsszerint ez a parancs.python3 setup.py bdist wheel
    • A files leképezés egy vagy több source 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.

  2. 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 vagy poetry --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 -V vagy python --versiona .
    • 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 vagy databricks --versiona . Lásd: A Databricks parancssori felület telepítése vagy frissítése.
  3. Ha használjasetuptools, telepítse a csomagokat és setuptools a wheel csomagokat, ha még nincsenek telepítve, futtassa a következő parancsot:

    pip3 install --upgrade wheel setuptools
    
  4. 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.

  1. A gyökérkönyvtárból ellenőrizze a csomagkonfigurációs fájlt:

    databricks bundle validate
    
  2. 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

  1. 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
    
  2. A kimenetben másolja ki és Run URL illessze be a webböngésző címsorába.

  3. 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 setuptoolsezt 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.