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.
Důležité
Databricks doporučuje používat balíčky deklarativní automatizace místo dbx od Databricks Labs. Související články týkající se dbx byly zrušeny a pravděpodobně nebudou aktualizovány.
Tento článek popisuje, jak migrovat projekty od Databricks Labs na Deklarativní Automatizační Balíčky. Viz Úvod do dbx by Databricks Labs a Co jsou deklarativní automatizační sady?.
Před migrací si všimněte následujících omezení a porovnání funkcí mezi dbx od Databricks Labs a deklarativními balíčky automatizace.
Porovnání funkcí
Před migrací si všimněte, jak se v deklarativních balíčcích automatizace implementují následující funkce pro dbx Databricks Labs.
Šablony a projekty
dbx poskytovat podporu pro šablonování Jinja. Šablony Jinja můžete zahrnout do konfigurace nasazení a předávat proměnné prostředí buď přímo v textu, nebo prostřednictvím souboru proměnných. I když se nedoporučuje, dbx poskytuje také experimentální podporu vlastních uživatelských funkcí.
Sady poskytují podporu pro Go šablony pro opakované použití konfigurace. Uživatelé můžou vytvářet sady založené na předem připravených šablonách. Pro šablonování existuje téměř úplná parita s výjimkou vlastních uživatelských funkcí.
Správa sestavení
dbx poskytuje podporu budování prostřednictvím pip wheel, Poetry a Flit. Uživatelé mohou zadat možnost sestavení v build části souboru projektu deployment.yml .
Balíčky umožňují uživatelům sestavovat, nasazovat a spouštět Python wheel soubory. Uživatelé můžou využít integrovanou whl položku v souboru sady databricks.yml .
Synchronizace, nasazení a spuštění kódu
dbx umožňuje nahrávat kód nezávisle na generování prostředků pracovního prostoru, jako jsou Lakeflow Jobs.
Balíčky vždy nahrávají kód a vytvářejí nebo aktualizují prostředky pracovního prostoru současně. To zjednodušuje nasazení a zabraňuje blokování podmínek pro úlohy, které už probíhají.
Migrace projektu dbx do sady
Jakmile si povšimnete předchozích omezení a porovnání funkcí mezi dbx službami Databricks Labs a deklarativními automatizačními sadami, jste připraveni migrovat z dbx na sady.
Databricks doporučuje zahájit dbx migraci projektu, ponechat projekt dbx v původní složce a mít samostatnou prázdnou složku, do které zkopírujete obsah původního dbx projektu. Tato samostatná složka bude vaší novou sadou. Pokud začnete převádět dbx projekt v původní složce na sadu, můžete narazit na neočekávané problémy a pak udělat nějaké chyby nebo začít znovu od začátku.
Krok 1: Instalace a nastavení rozhraní příkazového řádku Databricks
Balíčky deklarativní automatizace jsou obecně dostupné v Databricks CLI verze 0.218.0 a vyšší. Pokud jste už nainstalovali a nastavili Databricks CLI verze 0.218.0 nebo vyšší, přejděte k kroku 2.
Poznámka:
Balíčky nejsou kompatibilní s rozhraním příkazového řádku Databricks verze 0.18 a níže.
- Nainstalujte nebo aktualizujte rozhraní příkazového řádku Databricks verze 0.218.0 nebo novější. Viz Instalaci nebo aktualizaci rozhraní příkazového řádku Databricks.
- Nastavte rozhraní příkazového řádku Databricks pro ověřování s cílovými pracovními prostory Azure Databricks, například pomocí ověřování Usobním přístupovým tokenem (starší verze) . Další typy ověřování Azure Databricks najdete v tématu Authentication pro rozhraní příkazového řádku Databricks.
Krok 2: Vytvoření konfiguračního souboru sady
Pokud používáte integrované vývojové prostředí (IDE), například Visual Studio Code, PyCharm Professional nebo IntelliJ IDEA Ultimate, která poskytuje podporu pro soubory YAML a soubory schématu JSON, můžete použít integrované vývojové prostředí (IDE) nejen k vytvoření konfiguračního souboru sady, ale ke kontrole syntaxe a formátování souboru a poskytnutí tipů pro doplňování kódu, Takto.
Visual Studio Code
Přidejte podporu jazykového serveru YAML do Visual Studio Code, například instalací rozšíření YAML z Visual Studio Code Marketplace.
Vygenerujte soubor schématu JSON konfigurace balíku pomocí Databricks CLI spuštěním příkazu
bundle schemaa přesměrováním výstupu do souboru JSON. Například vygenerujte soubor s názvembundle_config_schema.jsonv aktuálním adresáři následujícím způsobem:databricks bundle schema > bundle_config_schema.jsonPomocí Visual Studio Code vytvořte nebo otevřete konfigurační soubor sady v aktuálním adresáři. Podle konvence má tento soubor název
databricks.yml.Na začátek konfiguračního souboru sady přidejte následující komentář:
# yaml-language-server: $schema=bundle_config_schema.jsonPoznámka:
Pokud je v předchozím komentáři soubor schématu JSON konfigurace sady v jiné cestě, nahraďte
bundle_config_schema.jsonúplnou cestou k souboru schématu.Použijte funkce jazykového serveru YAML, které jste přidali dříve. Další informace najdete v dokumentaci k jazykovému serveru YAML.
PyCharm Professional
Vygenerujte soubor schématu JSON konfigurace balíku pomocí Databricks CLI spuštěním příkazu
bundle schemaa přesměrováním výstupu do souboru JSON. Například vygenerujte soubor s názvembundle_config_schema.jsonv aktuálním adresáři následujícím způsobem:databricks bundle schema > bundle_config_schema.jsonNakonfigurujte PyCharm tak, aby rozpoznal konfigurační soubor schématu JSON balíčku, a poté dokončete mapování schématu JSON podle pokynů v Konfigurace vlastního schématu JSON.
Pomocí PyCharm vytvořte nebo otevřete konfigurační soubor sady. Podle konvence má tento soubor název
databricks.yml. Při psaní PyCharm kontroluje syntaxi a formátování schématu JSON a poskytuje rady pro dokončování kódu.
IntelliJ IDEA Ultimate
Vygenerujte soubor schématu JSON konfigurace balíku pomocí Databricks CLI spuštěním příkazu
bundle schemaa přesměrováním výstupu do souboru JSON. Například vygenerujte soubor s názvembundle_config_schema.jsonv aktuálním adresáři následujícím způsobem:databricks bundle schema > bundle_config_schema.jsonNakonfigurujte IntelliJ IDEA tak, aby rozpoznal konfigurační JSON schéma balíčku, a poté dokončete mapování schématu JSON podle pokynů v Konfigurace vlastního schématu JSON.
K vytvoření nebo otevření konfiguračního souboru sady použijte IntelliJ IDEA. Podle konvence má tento soubor název
databricks.yml. Při psaní IntelliJ IDEA kontroluje syntaxi a formátování schématu JSON a poskytuje rady pro dokončování kódu.
Krok 3: Převod nastavení projektu dbx na databricks.yml
Převeďte nastavení v dbx souboru projektu .dbx/project.json na ekvivalentní nastavení v souboru sady databricks.yml . Podrobnosti najdete v tématu Převod nastavení projektu dbx na databricks.yml.
Krok 4: Převod nastavení nasazení dbx na databricks.yml
Převeďte nastavení ve složce projektu dbxconf na ekvivalentní nastavení v souboru vaší sady databricks.yml . Podrobnosti najdete v tématu Převod nastavení nasazení dbx na databricks.yml.
Krok 5: Ověření sady
Než nasadíte artefakty nebo spustíte Azure Databricks úlohu, kanál :nebo MLOps, měli byste se ujistit, že je konfigurační soubor sady syntakticky správný. To proveďte spuštěním příkazu bundle validate z kořenového adresáře balíku:
databricks bundle validate
Informace o bundle validate najdete v databricks bundle validate.
Krok 6: Nasazení sady
Pokud chcete do vzdáleného pracovního prostoru nasadit všechny zadané místní artefakty, spusťte bundle deploy příkaz z kořenového adresáře sady. Pokud nejsou zadány žádné možnosti příkazu, použije se výchozí cíl deklarovaný v konfiguračním souboru sady:
databricks bundle deploy
Pokud chcete nasadit artefakty v kontextu konkrétního cíle, zadejte -t možnost (nebo --target) spolu s názvem cíle, jak je deklarováno v konfiguračním souboru sady. Například pro cíl deklarovaný s názvem development:
databricks bundle deploy -t development
Informace o bundle deploy najdete v tématu nasazení sady databricks.
Návod
Úlohy a pipeline definované sadou můžete propojit s existujícími úlohami a pipeline v pracovním prostoru Azure Databricks, aby zůstaly synchronizované. Viz databricks bundle deployment bind.
Krok 7: Spusťte balíček
Pokud chcete spustit konkrétní úlohu nebo kanál, spusťte bundle run příkaz z kořenového adresáře sady. Musíte zadat úlohu nebo kanál deklarovaný v konfiguračním souboru sady. Pokud není zadána -t možnost, použije se výchozí cíl deklarovaný v konfiguračním souboru sady. Pokud chcete například spustit úlohu pojmenovanou hello_job v kontextu výchozího cíle:
databricks bundle run hello_job
Spuštění úlohy pojmenované hello_job v kontextu cíle deklarovaného názvem development:
databricks bundle run -t development hello_job
Pro informace o bundle run najdete v programu databricks bundle run.
(Volitelné) Krok 8: Konfigurace sady pro CI/CD pomocí GitHub
Pokud používáte GitHub pro CI/CD, můžete pomocí GitHub Actions spustit příkazy databricks bundle deploy a databricks bundle run automaticky na základě konkrétních událostí pracovního postupu GitHub a dalších kritérií. Viz GitHub Actions.
Převod nastavení projektu dbx na databricks.yml
Nastavení dbxprojektu jsou ve výchozím nastavení v souboru pojmenovaném project.json ve složce projektu .dbx . Viz referenční informace k souboru Project.
V případě balíčků jsou konfigurace sady ve výchozím nastavení v souboru pojmenovaném databricks.yml v kořenové složce sady. Viz Konfiguraci deklarativních balíčků automatizace.
Pro soubor conf/project.json s následujícím ukázkovým obsahem:
{
"environments": {
"default": {
"profile": "charming-aurora",
"storage_type": "mlflow",
"properties": {
"workspace_directory": "/Workspace/Shared/dbx/charming_aurora",
"artifact_location": "/Workspace/Shared/dbx/projects/charming_aurora"
}
}
},
"inplace_jinja_support": true
}
Odpovídající databricks.yml soubor je následující:
bundle:
name: <some-unique-bundle-name>
targets:
default:
workspace:
profile: charming-aurora
root_path: /Shared/dbx/charming_aurora
artifact_path: /Shared/dbx/projects/charming_aurora
resources:
# See an example "resources" mapping in the following section.
Následující objekty v předchozím conf/project.json souboru tohoto příkladu nejsou podporovány v databricks.yml souborech a nemají žádná alternativní řešení:
inplace_jinja_supportstorage_type
Následující další povolené objekty v conf/project.json souborech nejsou podporovány v databricks.yml souborech a nemají žádné náhradní řešení:
enable-context-based-upload-for-executeenable-failsafe-cluster-reuse-with-assets
Převod nastavení nasazení dbx na databricks.yml
Pro konfiguraci dbx jsou nastavení nasazení ve výchozím souboru ve složce projektu conf. Viz referenci souboru nasazení. Soubor nastavení nasazení má ve výchozím nastavení jeden z následujících názvů:
deployment.ymldeployment.yamldeployment.jsondeployment.yml.j2deployment.yaml.j2deployment.json.j2
Pro sady jsou nastavení nasazení ve výchozím nastavení v souboru pojmenovaném databricks.yml v kořenové složce sady. Viz Konfiguraci deklarativních balíčků automatizace.
Pro soubor conf/deployment.yml s následujícím ukázkovým obsahem:
build:
python: 'pip'
environments:
default:
workflows:
- name: 'workflow1'
tasks:
- task_key: 'task1'
python_wheel_task:
package_name: 'some-pkg'
entry_point: 'some-ep'
Odpovídající databricks.yml soubor je následující:
bundle:
name: <some-unique-bundle-name>
targets:
default:
workspace:
# See an example "workspace" mapping in the preceding section.
resources:
jobs:
workflow1:
tasks:
- task_key: task1
python_wheel_task:
package_name: some-pkg
entry_point: some-ep
Soubory conf/deployment.yml nepodporují následující objekty v předchozím databricks.yml souboru tohoto příkladu a nemají žádná řešení:
-
build(i když se podívejte na Vytvoření Python wheel souboru pomocí deklarativních automatizačních balíčků)
Následující další povolené objekty a funkce v conf/deployment.yml souborech nejsou podporovány v databricks.yml souborech a nemají žádná alternativní řešení, pokud není uvedeno jinak:
access_control_list-
custom(místo toho používejte standardní ukotvení YAML) deployment_config- Formát Úlohy Lakeflow 2.0 (místo toho použijte formát Úlohy 2.1)
-
dbxFunkce Jinja - Vlastnosti založené na názvu