Sdílet prostřednictvím


Vytvoření Python wheel souboru pomocí bundlů prostředků Databricks

Tento článek popisuje, jak vytvořit, nasadit a spustit soubor typu wheel z Pythonu jako součást projektu "Databricks Asset Bundle". Podívejte se na Co jsou Databricks Asset Bundles?.

Příklad konfigurace, která sestaví soubor JAR a nahraje ho do katalogu Unity, najdete v tématu Bundle, který nahraje soubor JAR do katalogu Unity.

Požadavky

Rozhodnutí: Vytvoření sady ručně nebo pomocí šablony

Rozhodněte se, jestli chcete vytvořit počáteční sadu pomocí šablony nebo ji vytvořit ručně. Vytvoření sady pomocí šablony je rychlejší a jednodušší, ale sada může vytvořit obsah, který není potřeba, a výchozí nastavení sady se musí dále přizpůsobit pro skutečné aplikace. Ruční vytvoření sady vám poskytne úplnou kontrolu nad nastavením sady, ale musíte být obeznámeni s tím, jak fungují sady, protože provádíte veškerou práci od začátku. Zvolte jednu z následujících sad kroků:

Vytvoření sady pomocí šablony

V těchto krocích vytvoříte balíček pomocí výchozí šablony balíčku pro Python od Azure Databricks. Tento postup vás provede vytvořením sady, která se skládá ze souborů pro sestavení do souboru kola Pythonu a definice úlohy Azure Databricks pro sestavení tohoto souboru kola Pythonu. Potom ověříte, nasadíte a sestavíte nasazené soubory do souboru kola Pythonu z úlohy kola Pythonu v pracovním prostoru Azure Databricks.

Výchozí šablona sady prostředků Azure Databricks pro Python používá setuptools k sestavení Python wheel souboru. Pokud chcete místo toho použít Poetry k sestavení souboru wheel pro Python, postupujte podle pokynů dále v této části a zaměňte implementaci setuptools za implementaci pomocí Poetry.

Krok 1: Nastavení ověřování

V tomto kroku nastavíte ověřování mezi Rozhraním příkazového řádku Databricks na vývojovém počítači a pracovním prostorem Azure Databricks. Tento článek předpokládá, že chcete použít ověřování OAuth user-to-machine (U2M) a odpovídající konfigurační profil Azure Databricks s názvem DEFAULT, který bude použit pro ověřování.

Poznámka:

Ověřování U2M je vhodné pro vyzkoušení těchto kroků v reálném čase. Pro plně automatizované pracovní postupy Databricks doporučuje místo toho použít ověřování OAuth typu stroj-stroj (M2M). Viz pokyny k nastavení ověřování M2M v části Ověřování.

  1. Pomocí Databricks CLI spusťte místní správu tokenů OAuth spuštěním následujícího příkazu pro každý cílový pracovní prostor.

    V následujícím příkazu nahraďte <workspace-url> adresou URL služby Azure Databricks pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Rozhraní příkazového řádku Databricks vás vyzve k uložení informací, které jste zadali jako konfigurační profil Azure Databricks. Stisknutím klávesy Enter potvrďte navrhovaný název profilu nebo zadejte název nového nebo existujícího profilu. Všechny existující profily se stejným názvem se přepíšou informacemi, které jste zadali. Profily můžete použít k rychlému přepnutí kontextu ověřování napříč několika pracovními prostory.

    Seznam existujících profilů získáte tak, že v samostatném terminálu nebo příkazovém řádku použijete rozhraní příkazového řádku Databricks ke spuštění příkazu databricks auth profiles. Pokud chcete zobrazit existující nastavení konkrétního profilu, spusťte příkaz databricks auth env --profile <profile-name>.

  3. Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Azure Databricks.

  4. Pokud chcete zobrazit aktuální hodnotu tokenu OAuth profilu a nadcházející časové razítko vypršení platnosti tokenu, spusťte jeden z následujících příkazů:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Pokud máte více profilů se stejnou --host hodnotou, možná budete muset zadat možnosti společně s --host a -p aby pomohly rozhraní příkazového řádku Databricks najít odpovídající informace o tokenu OAuth.

Krok 2: Vytvoření sady

Sada obsahuje artefakty, které chcete nasadit, a nastavení pracovních postupů, které chcete spustit.

  1. Pomocí terminálu nebo příkazového řádku přepněte do adresáře na místním vývojovém počítači, který bude obsahovat vygenerovanou sadu šablony.

  2. Ke spuštění bundle init příkazu použijte verzi rozhraní příkazového řádku Databricks:

    databricks bundle init
    
  3. Pro Template to use, ponechte výchozí hodnotu default-python stisknutím klávesy Enter.

  4. Pro Unique name for this project, ponechte výchozí hodnotu my_project, nebo zadejte jinou hodnotu a stiskněte Enter. Určuje název kořenového adresáře pro tuto sadu. Tento kořenový adresář se vytvoří v aktuálním pracovním adresáři.

  5. V Include a stub (sample) notebookvyberte no a stiskněte Enter. Tento pokyn rozhraní příkazového řádku Databricks zabraňuje přidání ukázkového poznámkového bloku do vašeho balíčku.

  6. V Include a stub (sample) DLT pipelinevyberte no a stiskněte Enter. To dává rozhraní příkazového řádku Databricks pokyn, aby ve vaší sestavě nedefinoval vzorkový kanál DLT.

  7. Pro Include a stub (sample) Python package, ponechte výchozí hodnotu yes stisknutím klávesy Enter. Tím instruuje příkazovou řádku Databricks, aby do balíčku přidala ukázkové soubory balíčků kol Pythonu a instrukce pro sestavení.

Krok 3: Prozkoumání sady

Pokud chcete zobrazit soubory, které šablona vygenerovala, přepněte do kořenového adresáře nově vytvořené sady prostředků a otevřete tento adresář s upřednostňovaným integrovaným vývojovém prostředím ( například Visual Studio Code). Mezi soubory, které mají zvláštní zájem, patří:

  • databricks.yml: Tento soubor určuje programový název sady, obsahuje odkaz na definici úlohy kolečka Pythonu a určuje nastavení cílového pracovního prostoru.
  • resources/<project-name>_job.yml: Tento soubor určuje nastavení úlohy kolečka Pythonu.
  • src/<project-name>: Tento adresář obsahuje soubory, které úloha vytváření Python wheel používá k sestavení balíčku Python wheel.

Poznámka:

Pokud chcete nainstalovat soubor kola Pythonu do cílového clusteru s nainstalovaným Modulem Databricks Runtime 12.2 LTS nebo nižším, musíte do databricks.yml souboru přidat následující mapování nejvyšší úrovně:

# Applies to all tasks of type python_wheel_task.
experimental:
  python_wheel_wrapper: true

Toto mapování dává CLI Databricks pokyn k provedení následujícího:

  • Nasaďte kopii souboru kola Pythonu na pozadí. Tato cesta nasazení je obvykle ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl.
  • Vytvořte poznámkový blok na pozadí, který obsahuje pokyny k instalaci předchozího nasazeného souboru kola Pythonu do cílového clusteru. Cesta k tomuto poznámkovému bloku je obvykle ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>.
  • Když spustíte úlohu, která obsahuje úlohu Wheel souboru Pythonu a tato úloha odkazuje na předchozí Wheel soubor Pythonu, vytvoří se na pozadí úloha, která spustí předchozí poznámkový blok.

Toto mapování cílových clusterů s nainstalovaným modulem Databricks Runtime 13.1 nebo novějším nemusíte zadávat, protože instalace kol Pythonu ze systému souborů pracovního prostoru Azure Databricks se na tyto cílové clustery nainstalují automaticky.

Krok 4: Aktualizace balíčku projektu tak, aby používala básně

Ve výchozím nastavení šablona sady určuje sestavení souboru kolečka Pythonu pomocí setuptools spolu se soubory setup.py a requirements-dev.txt. Pokud chcete zachovat tyto výchozí hodnoty, přeskočte k kroku 5: Ověřte konfigurační soubor sady projektu.

Pokud chcete balíček projektu aktualizovat tak, aby namísto používal setuptools, ujistěte se, že vaše místní vývojové zařízení splňuje následující požadavky:

  • Poetry verze 1.6 nebo vyšší. Pokud chcete zkontrolovat nainstalovanou verzi Básní, spusťte příkaz poetry -V nebo poetry --version. Chcete-li nainstalovat nebo upgradovat Poetry, podívejte se na Instalace.
  • Python verze 3.10 nebo vyšší Pokud chcete zkontrolovat svou verzi Pythonu, spusťte příkaz python -V nebo python --version.
  • Databricks CLI verze 0.209.0 nebo novější Ke své verzi příkazového řádku Databricks spusťte příkaz databricks -v nebo databricks --version. Podívejte se na Instalace nebo aktualizace rozhraní příkazového řádku Databricks.

Proveďte následující změny v sadě projektů:

  1. Z kořenového adresáře sady inicializujte sestavení Python wheel pro Poetry spuštěním následujícího příkazu: poetry

    poetry init
    
  2. Básně zobrazuje několik výzev k dokončení. U sestavení kol Pythonu odpovězte na tyto výzvy následujícím způsobem, aby odpovídaly souvisejícímu výchozímu nastavení v sadě projektů:

    1. Zadejte do Package name název podřízené složky pod /src, a poté stiskněte Enter. Mělo by to být také hodnota balíčku name definovaná v souboru sady setup.py .
    2. Pro Version, zadejte 0.0.1 a stiskněte Enter. Odpovídá číslu verze definovanému v souboru sady src/<project-name>/__init__.py .
    3. Pro Description zadejte wheel file based on <project-name>/src (nahrazením <project-name> názvem projektu) a stiskněte Enter. Odpovídá hodnotě description definované v souboru šablony setup.py .
    4. Stiskněte Author a poté Enter. Tato výchozí hodnota odpovídá autorovi definovanému v souboru šablony setup.py .
    5. Stiskněte License, Enter. V šabloně není definovaná žádná licence.
    6. Zadejte Compatible Python versionsverzi Pythonu, která odpovídá verzi v cílovém clusteru Azure Databricks (například ^3.10) a stiskněte Enter.
    7. Zadejte Would you like to define your main dependencies interactively? a stiskněte no.Enter Závislosti definujete později.
    8. Zadejte Would you like to define your development dependencies interactively? a stiskněte no.Enter Závislosti definujete později.
    9. Stiskněte Do you confirm generation?Enter.
  3. Po dokončení výzev přidá Poetry soubor pyproject.toml do projektu sady. Informace o pyproject.toml souboru naleznete v souboru pyproject.toml.

  4. Z kořenového adresáře sady dejte pokyn poetry ke čtení pyproject.toml souboru, vyřešte závislosti a nainstalujte je, vytvořte poetry.lock soubor pro uzamčení závislostí a nakonec vytvořte virtuální prostředí. Provedete to spuštěním následujícího příkazu:

    poetry install
    
  5. Na konec pyproject.toml souboru přidejte následující oddíl a nahraďte <project-name> ho názvem adresáře, který soubor obsahuje src/<project-name>/main.py (například my_project):

    [tool.poetry.scripts]
    main = "<project-name>.main:main"
    

    Oddíl určuje vstupní bod kola Pythonu pro úlohu kola Pythonu.

  6. Na nejvyšší úrovni souboru sady databricks.yml přidejte následující mapování:

    artifacts:
      default:
        type: whl
        build: poetry build
        path: .
    

    Toto mapování poučuje rozhraní příkazového řádku Databricks, aby použilo Poetry ke zkompilování Python wheel souboru.

  7. Odstraňte soubory setup.py a requirements-dev.txt z balíku, protože je Poetry nepotřebuje.

Krok 5: Ověření konfiguračního souboru sady projektu

V tomto kroku zkontrolujete, jestli je konfigurace sady platná.

  1. Z kořenového adresáře spusťte bundle validate příkaz pomocí rozhraní příkazového řádku Databricks následujícím způsobem:

    databricks bundle validate
    
  2. Pokud se vrátí souhrn konfigurace sady, ověření proběhlo úspěšně. Pokud se vrátí nějaké chyby, opravte chyby a opakujte tento krok.

Pokud po tomto kroku provedete nějaké změny sady, měli byste tento krok zopakovat a zkontrolovat, jestli je konfigurace sady stále platná.

Krok 6: Sestavení souboru kola Pythonu a nasazení místního projektu do vzdáleného pracovního prostoru

V tomto kroku sestavíte soubor kola Pythonu, nasadíte vytvořený soubor kola Pythonu do vzdáleného pracovního prostoru Azure Databricks a vytvoříte úlohu Azure Databricks ve vašem pracovním prostoru.

  1. Pokud použijete setuptools, nainstalujte balíčky wheelsetuptools , pokud jste to ještě neudělali, spuštěním následujícího příkazu:

    pip3 install --upgrade wheel setuptools
    
  2. V terminálu editoru Visual Studio Code spusťte bundle deploy příkaz pomocí rozhraní příkazového řádku Databricks následujícím způsobem:

    databricks bundle deploy -t dev
    
  3. Pokud chcete zkontrolovat, jestli se nasadil místně vytvořený soubor kola Pythonu:

    1. Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní prostor.
    2. Klikněte do následující složky: pracovní prostor Uživatelé >><your-username>> .bundle ><project-name>> dev > artifacts > .internal><random-guid>.

    Soubor kola Pythonu by měl být v této složce.

  4. Pokud chcete zkontrolovat, jestli se úloha vytvořila:

    1. Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní postupy.
    2. Na kartě Úlohy klikněte na [dev<your-username>] <project-name>_job.
    3. Klikněte na kartu Úkoly .

    Měl by existovat jeden úkol: main_task.

Pokud po tomto kroku provedete nějaké změny sady, měli byste zopakovat kroky 5 až 6, abyste zkontrolovali, jestli je konfigurace sady stále platná, a pak projekt znovu nasaďte.

Krok 7: Spuštění nasazeného projektu

V tomto kroku spustíte úlohu Azure Databricks ve svém pracovním prostoru.

  1. V kořenovém adresáři spusťte příkaz pomocí rozhraní příkazového řádku bundle run Databricks následujícím způsobem a nahraďte <project-name> ho názvem projektu z kroku 2:

    databricks bundle run -t dev <project-name>_job
    
  2. Zkopírujte hodnotu Run URL, která se zobrazí v terminálu, a vložte ji do svého webového prohlížeče, abyste otevřeli pracovní prostor Azure Databricks.

  3. Po úspěšném dokončení úlohy v pracovním prostoru Azure Databricks, když se zobrazí zelené záhlaví, klikněte na úlohu main_task, abyste viděli výsledky.

Pokud po tomto kroku provedete nějaké změny sady, měli byste zopakovat kroky 5 až 7, abyste zkontrolovali, jestli je konfigurace sady stále platná, znovu nasaďte projekt a spusťte znovu nasazený projekt.

Dosáhli jste konce kroků pro vytvoření sady pomocí šablony.

Ruční vytvoření sady

V těchto krocích vytvoříte balíček od začátku ručně. Tyto kroky vás provedou vytvořením sady, která se skládá ze souborů pro sestavení do souboru kola Pythonu a definice úlohy Databricks pro sestavení tohoto souboru kola Pythonu. Pak ověříte, nasadíte a připravíte nasazené soubory do balíčku wheel pro Python prostřednictvím úlohy wheel pro Python ve vaší pracovní oblasti Databricks.

Mezi tyto kroky patří přidání obsahu do souboru YAML. Volitelně můžete chtít použít integrované vývojové prostředí (IDE), které poskytuje automatické návrhy schématu a akce při práci se soubory YAML. Následující kroky používají Visual Studio Code s rozšířením YAML nainstalovaným z Webu Visual Studio Code Marketplace.

Tento postup předpokládá, že už víte:

Podle těchto pokynů vytvořte ukázkovou sadu, která sestaví soubor wheel pro Python pomocí Poetry nebo setuptools, nasadí soubor wheel pro Python a pak spustí nasazený soubor.

Pokud jste už vytvořili soubor kola Pythonu a chcete ho nasadit a spustit, přeskočte dopředu a zadejte nastavení kolečka Pythonu v konfiguračním souboru sady v kroku 3: Vytvoření konfiguračního souboru sady.

Krok 1: Nastavení ověřování

V tomto kroku nastavíte ověřování mezi Rozhraním příkazového řádku Databricks na vývojovém počítači a pracovním prostorem Azure Databricks. Tento článek předpokládá, že chcete použít ověřování OAuth typu user-to-machine (U2M) a odpovídající konfigurační profil Azure Databricks s názvem DEFAULT pro ověřování.

Poznámka:

Ověřování U2M je vhodné pro vyzkoušení těchto kroků v reálném čase. Pro plně automatizované pracovní postupy doporučuje Databricks místo toho použít ověřování OAuth machine-to-machine (M2M). Viz pokyny k nastavení ověřování M2M v části Ověřování.

  1. Pomocí rozhraní příkazového řádku Databricks pro místní zahájení správy tokenů OAuth spusťte následující příkaz na každém cílovém pracovním prostoru.

    V následujícím příkazu nahraďte <workspace-url> adresou URL služby Azure Databricks pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Rozhraní příkazového řádku Databricks vás vyzve k uložení informací, které jste zadali jako konfigurační profil Azure Databricks. Stisknutím klávesy Enter potvrďte navrhovaný název profilu nebo zadejte název nového nebo existujícího profilu. Všechny existující profily se stejným názvem se přepíšou informacemi, které jste zadali. Profily můžete použít k rychlému přepnutí kontextu ověřování napříč několika pracovními prostory.

    Seznam existujících profilů získáte tak, že v samostatném terminálu nebo příkazovém řádku použijete rozhraní příkazového řádku Databricks ke spuštění příkazu databricks auth profiles. Pokud chcete zobrazit existující nastavení konkrétního profilu, spusťte příkaz databricks auth env --profile <profile-name>.

  3. Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Azure Databricks.

  4. Pokud chcete zobrazit aktuální hodnotu tokenu OAuth profilu a nadcházející časové razítko vypršení platnosti tokenu, spusťte jeden z následujících příkazů:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Pokud máte více profilů se stejnou --host hodnotou, možná budete muset zadat možnosti --host a -p společně, abyste pomohli rozhraní příkazového řádku Databricks najít odpovídající informace o tokenu OAuth.

Krok 2: Vytvoření sady

Sada obsahuje artefakty, které chcete nasadit, a nastavení pracovních postupů, které chcete spustit.

  1. V kořenovém adresáři vašeho balíčku vytvořte následující složky a soubory v závislosti na tom, zda používáte Poetry nebo setuptools pro vytváření Python wheel souborů:

    Poezie

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── pyproject.toml
    

    Nástroje pro nastavení

    ├── src
    │     └── my_package
    │           ├── __init__.py
    │           ├── main.py
    │           └── my_module.py
    └── setup.py
    
  2. __init__.py Nechte soubor prázdný.

  3. Do souboru přidejte následující kód main.py a pak soubor uložte:

    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. Do souboru přidejte následující kód my_module.py a pak soubor uložte:

    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. Do souboru pyproject.toml nebo setup.py přidejte následující kód a poté soubor uložte.

    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"
    
    • Nahraďte my-author-name primárním jménem kontaktu vaší organizace.
    • Nahraďte my-author-name>@<my-organization primární e-mailovou adresou vaší organizace.
    • Nahraďte <my-package-description> popisem zobrazení souboru kola Pythonu.

    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"
      ]
    )
    
    • Nahraďte https://<my-url> adresou URL vaší organizace.
    • Nahraďte <my-author-name> primárním jménem kontaktu vaší organizace.
    • Nahraďte <my-author-name>@<my-organization> primární e-mailovou adresou vaší organizace.
    • Nahraďte <my-package-description> popisem zobrazení souboru kola Pythonu.

Krok 3: Vytvoření konfiguračního souboru sady

Konfigurační soubor sady popisuje artefakty, které chcete nasadit, a pracovní postupy, které chcete spustit.

  1. V kořenovém adresáři vaší sady přidejte konfigurační soubor sady s názvem databricks.yml. Do tohoto souboru přidejte následující kód:

    Poezie

    Poznámka:

    Pokud jste už vytvořili Python wheel soubor a chcete ho nasadit, upravte následující konfigurační soubor tak, že vynecháte mapování artifacts. Rozhraní příkazového řádku Databricks pak předpokládá, že soubor kola Pythonu je již sestavený a automaticky nasadí soubory zadané v libraries položkách pole whl .

    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>
    

    Nástroje pro nastavení

    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>
    

    Nahraďte <workspace-url> vaší URL pro každý pracovní prostor, například https://adb-1234567890123456.7.azuredatabricks.net.

    Mapování artifacts je nezbytné pro sestavení kol Pythonu s Poetry a je volitelné pro sestavení kol Pythonu pomocí setuptools. Mapování artifacts obsahuje jednu nebo více definic artefaktů s následujícími mapováními:

    • Mapování type musí být k dispozici a nastaveno na whl, aby bylo možné určit, že se má sestavit soubor kola Pythonu. Pro setuptools, whl je výchozí, pokud nejsou zadány žádné definice artefaktů.
    • Mapování path označuje cestu k pyproject.toml souboru pro básně nebo do setup.py souboru pro setuptools. Tato cesta je relativní vzhledem k databricks.yml souboru. Pro setuptools je tato cesta ve výchozím nastavení . (ve stejném adresáři jako soubor databricks.yml).
    • Mapování build označuje všechny vlastní příkazy sestavení, které se mají spustit, aby se vytvořil soubor kola Pythonu. Pro setuptools je tento příkaz ve výchozím nastavení python3 setup.py bdist wheel.
    • Mapování files se skládá z jednoho nebo více source mapování, která určují všechny další soubory, které se mají zahrnout do sestavení kola Pythonu. Neexistuje výchozí nastavení.

    Poznámka:

    Pokud chcete nainstalovat soubor kola Pythonu do cílového clusteru s nainstalovaným Modulem Databricks Runtime 12.2 LTS nebo nižším, musíte do databricks.yml souboru přidat následující mapování nejvyšší úrovně:

    # Applies to jobs with python_wheel_task and that use
    # clusters with Databricks Runtime 13.0 or below installed.
    experimental:
      python_wheel_wrapper: true
    

    Toto mapování instruuje příkazové rozhraní Databricks, aby udělalo následující:

    • Nasadí kopii souboru kola Pythonu na pozadí. Tato cesta nasazení je obvykle ${workspace.artifact_path}/.internal/<random-id>/<wheel-filename>.whl.

    • Vytvoří poznámkový blok na pozadí, který obsahuje pokyny k instalaci předchozího nasazeného souboru kola Pythonu do cílového clusteru. Cesta k tomuto notebooku je obvykle ${workspace.file_path}/.databricks/bundle/<target-name>/.internal/notebook_<job-name>_<task-key>.

    • Když spustíte úlohu, která obsahuje úlohu kolečka Pythonu a tato úloha odkazuje na předchozí soubor kola Pythonu, vytvoří se úloha na pozadí, na kterém běží předchozí poznámkový blok.

    Toto mapování cílových clusterů s nainstalovaným modulem Databricks Runtime 13.1 nebo novějším nemusíte zadávat, protože instalace kol Pythonu ze systému souborů pracovního prostoru Azure Databricks se na tyto cílové clustery nainstalují automaticky.

  2. Pokud používáte básně, postupujte takto:

    • Nainstalujte Poetry, verzi 1.6 nebo vyšší, pokud ještě není nainstalován. Pokud chcete zkontrolovat nainstalovanou verzi Básní, spusťte příkaz poetry -V nebo poetry --version.
    • Ujistěte se, že máte nainstalovaný Python verze 3.10 nebo novější. Pokud chcete zkontrolovat svou verzi Pythonu, spusťte příkaz python -V nebo python --version.
    • Ujistěte se, že máte Rozhraní příkazového řádku Databricks verze 0.209.0 nebo novější. Ke své verzi Rozhraní příkazového řádku Databricks spusťte příkaz databricks -v nebo databricks --version. Viz Instalace nebo aktualizace Rozhraní příkazového řádku Databricks.
  3. Pokud používáte setuptools, nainstalujte balíčky wheelsetuptools , pokud ještě nejsou nainstalované, spuštěním následujícího příkazu:

    pip3 install --upgrade wheel setuptools
    
  4. Pokud máte v úmyslu uložit tuto sadu u poskytovatele Git, přidejte soubor .gitignore do kořenového adresáře projektu a do tohoto souboru přidejte následující položky:

    Poezie

    .databricks
    dist
    

    Nástroje pro nastavení

    .databricks
    build
    dist
    src/my_package/my_package.egg-info
    

Krok 4: Ověření konfiguračního souboru sady projektů

V tomto kroku zkontrolujete, jestli je konfigurace sady platná.

  1. V kořenovém adresáři ověřte konfigurační soubor sady:

    databricks bundle validate
    
  2. Pokud se vrátí souhrn konfigurace sady, ověření proběhlo úspěšně. Pokud se vrátí nějaké chyby, opravte chyby a opakujte tento krok.

Pokud po tomto kroku provedete nějaké změny sady, měli byste tento krok zopakovat a zkontrolovat, jestli je konfigurace sady stále platná.

Krok 5: Sestavení souboru kola Pythonu a nasazení místního projektu do vzdáleného pracovního prostoru

Sestavte soubor kola Pythonu místně, nasaďte vytvořený soubor kola Pythonu do pracovního prostoru, nasaďte poznámkový blok do pracovního prostoru a vytvořte úlohu v pracovním prostoru:

databricks bundle deploy -t dev

Krok 6: Spuštění nasazeného projektu

  1. Spusťte nasazenou úlohu, která používá nasazený poznámkový blok k volání nasazeného souboru kola Pythonu:

    databricks bundle run -t dev wheel-job
    
  2. Ve výstupu zkopírujte Run URL a vložte ho do adresního řádku webového prohlížeče.

  3. Na stránce Výstup úlohy se zobrazí následující výsledky:

    200 + 400 = 600
    400 - 200 = 200
    200 * 400 = 80000
    400 / 200 = 2.0
    

Pokud po tomto kroku provedete nějaké změny sady, měli byste zopakovat kroky 3 až 5, abyste zkontrolovali, jestli je konfigurace sady stále platná, znovu nasaďte projekt a spusťte znovu nasazený projekt.

Sestavení a instalace souboru kola Pythonu pro úlohu

Pokud chcete vytvořit soubor kola Pythonu s básní nebo setuptoolsa pak tento soubor kola Pythonu použít v úloze, musíte do databricks.yml souboru přidat jedno nebo dvě mapování.

Pokud používáte Poetry, musíte do souboru artifacts zahrnout následující mapování databricks.yml. Toto mapování spustí poetry build příkaz a použije pyproject.toml soubor, který je ve stejném adresáři jako databricks.yml soubor:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Poznámka:

Mapování artifacts je volitelné pro setuptools. Ve výchozím nastavení rozhraní příkazového řádku Databricks spustí příkaz python3 setup.py bdist_wheel a použije soubor setup.py, který je ve stejném adresáři jako soubor databricks.yml. Rozhraní příkazového řádku Databricks předpokládá, že jste už spustili příkaz, například pip3 install --upgrade wheel setuptools k instalaci wheel balíčků a setuptools balíčků, pokud ještě nejsou nainstalované.

Mapování úlohy libraries také musí obsahovat whl hodnotu, která určuje cestu k vytvořenému souboru kola Pythonu vzhledem ke konfiguračnímu souboru, ve kterém je deklarována. Následující příklad ukazuje tento postup v úloze poznámkového bloku (tři tečky označují vynechaný obsah pro stručnost):

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

Sestavení a instalace souboru kola Pythonu pro kanál

Pokud chcete vytvořit Python wheel soubor s Poetry nebo setuptools a pak na tento Python wheel soubor odkazovat v DLT pipeline, musíte přidat mapování do souboru databricks.yml, pokud používáte Poetry, a do poznámkového bloku pipeline musíte přidat příkaz %pip install, jak je uvedeno níže.

Pokud používáte Poetry, musíte do souboru databricks.yml zahrnout následující mapování artifacts. Toto mapování spustí poetry build příkaz a použije pyproject.toml soubor, který je ve stejném adresáři jako databricks.yml soubor:

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

Poznámka:

Mapování artifacts je volitelné pro setuptools. Ve výchozím nastavení rozhraní příkazového řádku Databricks spustí příkaz python3 setup.py bdist_wheel a použije soubor setup.py, který je ve stejném adresáři jako soubor databricks.yml. Rozhraní příkazového řádku Databricks předpokládá, že jste už spustili příkaz, například pip3 install --upgrade wheel setuptools k instalaci wheel balíčků a setuptools balíčků, pokud ještě nejsou nainstalované.

Související poznámkový blok kanálu musí také obsahovat příkaz %pip install pro instalaci vytvořeného Python wheel souboru. Viz knihovny Pythonu.