Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka popisuje, jak sestavit, nasadit a spustit Python wheel soubor pomocí Databricks Asset Bundles. Podívejte se naCo jsou sady prostředků Databricks?
Příklad konfigurace, která sestaví soubor JAR a nahraje ho do katalogu Unity, najdete v části Sada, která nahraje soubor JAR do katalogu Unity.
Requirements
- Nainstaluje se rozhraní příkazového řádku Databricks verze 0.218.0 nebo novější a nakonfiguruje se ověřování. 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. Pokud chcete nakonfigurovat ověřování, přečtěte si téma Konfigurace přístupu k vašemu pracovnímu prostoru. - Uv je nutné ke spouštění testů a k instalaci závislostí pro tento projekt z integrovaného vývojového prostředí (IDE).
- Vzdálený pracovní prostor musí mít povolené soubory pracovního prostoru. Podívejte se na Co jsou soubory pracovního prostoru?
- Existující katalog. Pokud chcete vytvořit katalog, přečtěte si téma Vytváření katalogů.
Vytvoření sady pomocí šablony
Vytvořte balíček pomocí výchozí šablony balíčku pro Python Databricks Asset Bundles. Tato sada obsahuje soubory pro sestavení do souboru kola Pythonu a definici ú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.
Pokud chcete vytvořit sadu úplně od začátku, přečtěte si téma Ruční vytvoření sady.
Krok 1: Vytvoření sady
Sada obsahuje prostředky, 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 initpříkazu použijte verzi rozhraní příkazového řádku Databricks:databricks bundle initPro
Template to use, ponechte výchozí hodnotudefault-pythonstisknutí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 job that runs a notebookvybertenoa 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 an ETL pipelinevybertenoa stiskněteEnter. Tímto je rozhraní příkazového řádku Databricks instruováno, aby ve vaší sadě nedefinovalo ukázkový kanál.Pro
Include a stub (sample) Python package, ponechte výchozí hodnotuyesstisknutí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í.V
Use serverlessvyberteyesa stiskněteEnter. To dává rozhraní příkazového řádku Databricks pokyn ke konfiguraci sady tak, aby běžela na bezserverových výpočetních prostředcích.Pro
Default catalog for any tables created by this project [hive_metastore]zadejte název existujícího Unity Catalog katalogu.Pro
Use a personal schema for each user working on this project.vyberteyes.
Krok 2: 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ář v preferovaném integrovaném vývojovém prostředí ( IDE). Mezi soubory, které mají zvláštní zájem, patří:
-
databricks.yml: Tento soubor určuje název sady, obsahuje odkazy na soubory sady, určujewhlnastavení sestavení, definuje katalog a proměnné schématu a určuje nastavení pro cílové pracovní prostory. -
resources/sample_job.job.yml: Tento soubor určuje nastavení úlohy Python wheel. Informace o nastavení úlohy najdete v úloze. -
src/: Tato složka obsahuje soubory, které úloha kolečka Pythonu používá k sestavení souboru kola Pythonu. -
tests/: Tato složka obsahuje ukázkové jednotkové testy. -
README.md: Tento soubor obsahuje další informace o tom, jak začít a používat tuto šablonu sady.
Note
Pokud chcete nainstalovat soubor kola Pythonu do clusteru s Modulem Databricks Runtime 12.2 LTS nebo níže, 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
Krok 3: Ověření konfigurace balíčku
Teď zkontrolujte, jestli je konfigurace sady platná.
Z kořenového adresáře spusťte
bundle validatepříkaz pomocí rozhraní příkazového řádku Databricks:databricks bundle validatePokud 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.
Krok 4: Nasazení sady do vzdáleného pracovního prostoru
V dalším kroku nasaďte sadu do vzdáleného pracovního prostoru Azure Databricks. Tím se sestaví soubor kola Pythonu. Ověřte, že je ve vašem pracovním prostoru vytvořena úloha (job) Azure Databricks.
Z kořenového adresáře balíčku spusťte příkaz pomocí rozhraní příkazového řádku Databricks
bundle deploy.databricks bundle deploy --target devOvěřte, že byl nasazen místně vytvořený Python balíček:
- Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní prostor.
- Klikněte na následující složku: Pracovní prostor > Uživatelé >
<your-username>> .bundle ><project-name>> dev > artifacts > .internal ><whl-file-name>.whl.
Soubor kola Pythonu by měl být v této složce.
Zkontrolujte, jestli byla úloha vytvořena:
- Na bočním panelu pracovního prostoru Azure Databricks klikněte na Úlohy a kanály.
- Volitelně můžete vybrat filtry Práce a Vlastním.
- Klikněte na [dev
<your-username>]sample_job. - Klikněte na kartu Úkoly . Měla by existovat jedna python_wheel_task.
Pokud po tomto kroku provedete nějaké změny sady, opakujte kroky 3 až 4 a zkontrolujte, jestli je konfigurace sady stále platná, a pak projekt znovu nasaďte.
Krok 5: Spuštění nasazeného projektu
Teď ve vašem pracovním prostoru aktivujte spuštění úlohy Azure Databricks.
Z kořenového adresáře spusťte
bundle runpříkaz pomocí rozhraní příkazového řádku Databricks:databricks bundle run --target dev sample_jobZkopí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.V pracovním prostoru Azure Databricks, po úspěšném dokončení úlohy a s zeleným záhlavím, klikněte na úkol a zobrazte výsledky.
Postavte whl pomocí Poetry nebo setuptools
Když použijete databricks bundle init s výchozí šablonou Pythonu, vytvoří se sada, která ukazuje, jak nakonfigurovat sadu, která sestaví kolo Pythonu pomocí uv a pyproject.toml. Můžete však chtít místo toho použít Poetry nebo setuptools k sestavení wheelu.
Instalace "Poetry" nebo "setuptools"
Instalace nástroje Poetry nebo
setuptools:Poetry
-
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 -Vnebopoetry --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 -Vnebopython --version.
Setuptools
Pokud ještě nejsou nainstalované, nainstalujte balíčky
wheelsetuptoolsspuštěním následujícího příkazu:pip3 install --upgrade wheel setuptools-
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 máte v úmyslu uložit tuto sadu pomocí poskytovatele Git, přidejte soubor
.gitignoredo kořenového adresáře projektu, a do tohoto souboru přidejte následující položky:Poetry
.databricks distSetuptools
.databricks build dist src/my_package/my_package.egg-info
Přidej soubory sestavení
V kořenovém adresáři vaší sady vytvořte následující složky a soubory v závislosti na tom, jestli používáte Poetry nebo
setuptoolspro vytváření souborů kol Pythonu.Poetry
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── pyproject.tomlSetuptools
├── src │ └── my_package │ ├── __init__.py │ ├── main.py │ └── my_module.py └── setup.pyDo souboru
pyproject.tomlnebosetup.pypřidejte následující kód: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-nameprimárním jménem kontaktu vaší organizace. - Nahraďte
my-author-name>@<my-organizationprimární e-mailovou adresou vaší organizace. - Nahraďte
<my-package-description>popisem zobrazení pro váš soubor Python wheel.
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í pro váš soubor Python wheel.
- Nahraďte
Přidání konfigurace sady artefaktů
Přidejte do svého objektu
artifactsmapování konfiguraci pro sestavení artefaktudatabricks.yml:whlPoetry
Tato konfigurace spustí
poetry buildpříkaz a označuje cestu kpyproject.tomlsouboru ve stejném adresáři jakodatabricks.ymlsoubor.Note
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 typu wheel pro Python je již sestavený a automaticky nasadí soubory, které jsou zadané v položkách polelibrarieswhl.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
Tato konfigurace spustí
setuptoolspříkaz a označuje cestu ksetup.pysouboru ve stejném adresáři jakodatabricks.ymlsoubor.bundle: name: my-wheel-bundle artifacts: default: type: whl build: python3 setup.py bdist wheel path: . resources: jobs: wheel-job: name: wheel-job tasks: - task_key: wheel-task new_cluster: spark_version: 13.3.x-scala2.12 node_type_id: Standard_DS3_v2 data_security_mode: USER_ISOLATION num_workers: 1 python_wheel_task: entry_point: main package_name: my_package libraries: - whl: ./dist/*.whl targets: dev: workspace: host: <workspace-url>