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
- Databricks CLI verze 0.218.0 nebo vyšší. Pokud chcete zkontrolovat nainstalovanou verzi rozhraní příkazového řádku Databricks, spusťte příkaz
databricks -v
. Pokud chcete nainstalovat rozhraní příkazového řádku Databricks, přečtěte si téma Instalace nebo aktualizace rozhraní příkazového řádku Databricks. - Vzdálený pracovní prostor musí mít povolené soubory pracovního prostoru. Podívejte se na co jsou soubory pracovního prostoru.
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í.
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říkladhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
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říkazdatabricks auth env --profile <profile-name>
.Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Azure Databricks.
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.
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.
Ke spuštění
bundle init
příkazu použijte verzi rozhraní příkazového řádku Databricks:databricks bundle init
Pro
Template to use
, ponechte výchozí hodnotudefault-python
stisknutím klávesyEnter
.Pro
Unique name for this project
, ponechte výchozí hodnotumy_project
, nebo zadejte jinou hodnotu a stiskněteEnter
. 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.V
Include a stub (sample) notebook
vyberteno
a stiskněteEnter
. 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.V
Include a stub (sample) DLT pipeline
vyberteno
a stiskněteEnter
. To dává rozhraní příkazového řádku Databricks pokyn, aby ve vaší sestavě nedefinoval vzorkový kanál DLT.Pro
Include a stub (sample) Python package
, ponechte výchozí hodnotuyes
stisknutím klávesyEnter
. 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
nebopoetry --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
nebopython --version
. - Databricks CLI verze 0.209.0 nebo novější Ke své verzi příkazového řádku Databricks spusťte příkaz
databricks -v
nebodatabricks --version
. Podívejte se na Instalace nebo aktualizace rozhraní příkazového řádku Databricks.
Proveďte následující změny v sadě projektů:
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
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ů:
- Zadejte do
Package name
název podřízené složky pod/src
, a poté stiskněteEnter
. Mělo by to být také hodnota balíčkuname
definovaná v souboru sadysetup.py
. - Pro
Version
, zadejte0.0.1
a stiskněteEnter
. Odpovídá číslu verze definovanému v souboru sadysrc/<project-name>/__init__.py
. - Pro
Description
zadejtewheel file based on <project-name>/src
(nahrazením<project-name>
názvem projektu) a stiskněteEnter
. Odpovídá hodnotědescription
definované v souboru šablonysetup.py
. - Stiskněte
Author
a potéEnter
. Tato výchozí hodnota odpovídá autorovi definovanému v souboru šablonysetup.py
. - Stiskněte
License
,Enter
. V šabloně není definovaná žádná licence. - Zadejte
Compatible Python versions
verzi Pythonu, která odpovídá verzi v cílovém clusteru Azure Databricks (například^3.10
) a stiskněteEnter
. - Zadejte
Would you like to define your main dependencies interactively?
a stiskněteno
.Enter
Závislosti definujete později. - Zadejte
Would you like to define your development dependencies interactively?
a stiskněteno
.Enter
Závislosti definujete později. - Stiskněte
Do you confirm generation?
Enter
.
- Zadejte do
Po dokončení výzev přidá Poetry soubor
pyproject.toml
do projektu sady. Informace opyproject.toml
souboru naleznete v souboru pyproject.toml.Z kořenového adresáře sady dejte pokyn
poetry
ke čtenípyproject.toml
souboru, vyřešte závislosti a nainstalujte je, vytvořtepoetry.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
Na konec
pyproject.toml
souboru přidejte následující oddíl a nahraďte<project-name>
ho názvem adresáře, který soubor obsahujesrc/<project-name>/main.py
(napříkladmy_project
):[tool.poetry.scripts] main = "<project-name>.main:main"
Oddíl určuje vstupní bod kola Pythonu pro úlohu kola Pythonu.
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.
Odstraňte soubory
setup.py
arequirements-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á.
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
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.
Pokud použijete
setuptools
, nainstalujte balíčkywheel
setuptools
, pokud jste to ještě neudělali, spuštěním následujícího příkazu:pip3 install --upgrade wheel setuptools
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
Pokud chcete zkontrolovat, jestli se nasadil místně vytvořený soubor kola Pythonu:
- Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní prostor.
- 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.
Pokud chcete zkontrolovat, jestli se úloha vytvořila:
- Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní postupy.
-
Na kartě Úlohy klikněte na [dev
<your-username>
]<project-name>
_job. - 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.
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
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.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:
- Jak vytvářet, sestavovat a pracovat se soubory kol Pythonu s nástrojem Poetry nebo
setuptools
. Pro básně viz Základní použití. Prosetuptools
viz uživatelskou příručku pro balení Pythonu. - Jak používat soubory kol Pythonu jako součást úlohy Azure Databricks Vizte Použití Python wheel souboru v úloze Azure Databricks.
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í.
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říkladhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
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říkazdatabricks auth env --profile <profile-name>
.Ve webovém prohlížeči dokončete pokyny na obrazovce, abyste se přihlásili k pracovnímu prostoru Azure Databricks.
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.
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
__init__.py
Nechte soubor prázdný.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()
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
Do souboru
pyproject.toml
nebosetup.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.
- Nahraďte
Krok 3: Vytvoření konfiguračního souboru sady
Konfigurační soubor sady popisuje artefakty, které chcete nasadit, a pracovní postupy, které chcete spustit.
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é vlibraries
položkách polewhl
.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říkladhttps://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 nawhl
, aby bylo možné určit, že se má sestavit soubor kola Pythonu. Prosetuptools
,whl
je výchozí, pokud nejsou zadány žádné definice artefaktů. - Mapování
path
označuje cestu kpyproject.toml
souboru pro básně nebo dosetup.py
souboru prosetuptools
. Tato cesta je relativní vzhledem kdatabricks.yml
souboru. Prosetuptools
je tato cesta ve výchozím nastavení.
(ve stejném adresáři jako soubordatabricks.yml
). - Mapování
build
označuje všechny vlastní příkazy sestavení, které se mají spustit, aby se vytvořil soubor kola Pythonu. Prosetuptools
je tento příkaz ve výchozím nastavenípython3 setup.py bdist wheel
. - Mapování
files
se skládá z jednoho nebo vícesource
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.
- Mapování
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
nebopoetry --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
nebopython --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
nebodatabricks --version
. Viz Instalace nebo aktualizace Rozhraní příkazového řádku Databricks.
-
Nainstalujte Poetry, verzi 1.6 nebo vyšší, pokud ještě není nainstalován. Pokud chcete zkontrolovat nainstalovanou verzi Básní, spusťte příkaz
Pokud používáte
setuptools
, nainstalujte balíčkywheel
setuptools
, pokud ještě nejsou nainstalované, spuštěním následujícího příkazu:pip3 install --upgrade wheel setuptools
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á.
V kořenovém adresáři ověřte konfigurační soubor sady:
databricks bundle validate
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
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
Ve výstupu zkopírujte
Run URL
a vložte ho do adresního řádku webového prohlížeče.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 setuptools
a 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.