Migrace z dbx na sady
Důležité
Databricks doporučuje používat sady prostředků Databricks místo dbx
Databricks Labs. Související články o tom, které dbx
byly vyřazeny, a nemusí být aktualizovány.
Tento článek popisuje, jak migrovat projekty pro dbx
Databricks Labs do sad prostředků Databricks. Viz Úvod do dbx by Databricks Labs a Co jsou sady prostředků Databricks?.
Před migrací si všimněte následujících omezení a porovnání funkcí mezi dbx
databricks Labs a sadami prostředků Databricks.
Omezení
Následující funkce podporované službou dbx
Databricks Labs jsou omezené, neexistují nebo vyžadují alternativní řešení v sadě prostředků Databricks.
- Sestavení artefaktů JAR není v balíčcích podporováno.
- Notace FUSE pro cesty pracovního prostoru není podporována v balíčcích (například
/Workspace/<path>/<filename>
). Sady však můžete instruovat, aby během nasazení vygenerovaly cesty pracovního prostoru ve stylu FUSE pomocí zápisu, například/Workspace/${bundle.file_path}/<filename>
.
Porovnání funkcí
Před migrací si všimněte, jak se v sadách prostředků Databricks 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ředat proměnné prostředí buď vložené, 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 prostředků poskytují podporu pro šablony Go 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
, básně a Flit. Uživatelé mohou zadat možnost sestavení v build
části souboru projektu deployment.yml
.
Sady prostředků umožňují uživatelům sestavovat, nasazovat a spouštět soubory kol Pythonu. 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 odděleně od generování prostředků pracovního prostoru, jako jsou úlohy Azure Databricks.
Balíčky vždy nahrávají kód a vytvářejí nebo aktualizují prostředky pracovního prostoru najednou. 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 Sadami prostředků Databricks, jste připraveni migrovat z dbx
prostředků 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
Sady prostředků Databricks jsou obecně dostupné v Rozhraní příkazového řádku Databricks 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 Instalace nebo aktualizace 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í tokenů pat azure Databricks. Další typy ověřování Azure Databricks najdete v tématu Ověřování 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), jako je 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 k poskytnutí pokynů pro doplňování kódu následujícím způsobem.
Visual Studio Code
Přidejte podporu jazykového serveru YAML do editoru Visual Studio Code, například instalací rozšíření YAML z webu Visual Studio Code Marketplace.
Vygenerujte konfigurační soubor schématu JSON sady prostředků Databricks pomocí rozhraní příkazového řádku Databricks a spusťte
bundle schema
příkaz a přesměrujte výstup do souboru JSON. Například vygenerujte soubor pojmenovanýbundle_config_schema.json
v aktuálním adresáři následujícím způsobem:databricks bundle schema > bundle_config_schema.json
Pomocí editoru 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.json
Poznámka:
Pokud je soubor schématu JSON konfigurace sady prostředků Databricks v předchozím komentáři 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 konfigurační soubor schématu JSON sady prostředků Databricks pomocí rozhraní příkazového řádku Databricks a spusťte
bundle schema
příkaz a přesměrujte výstup do souboru JSON. Například vygenerujte soubor pojmenovanýbundle_config_schema.json
v aktuálním adresáři následujícím způsobem:databricks bundle schema > bundle_config_schema.json
Nakonfigurujte PyCharm tak, aby rozpoznal konfigurační soubor schématu JSON sady, a pak dokončete mapování schématu JSON podle pokynů v části 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 konfigurační soubor schématu JSON sady prostředků Databricks pomocí rozhraní příkazového řádku Databricks a spusťte
bundle schema
příkaz a přesměrujte výstup do souboru JSON. Například vygenerujte soubor pojmenovanýbundle_config_schema.json
v aktuálním adresáři následujícím způsobem:databricks bundle schema > bundle_config_schema.json
Nakonfigurujte IntelliJ IDEA tak, aby rozpoznal konfigurační soubor schématu JSON sady a pak dokončil mapování schématu JSON podle pokynů v části 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 dbx
conf
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 úlohu Azure Databricks, kanál Delta Live Tables nebo kanál MLOps, měli byste se ujistit, že je konfigurační soubor sady syntakticky správný. Provedete to spuštěním bundle validate
příkazu z kořenového adresáře sady:
databricks bundle validate
Informace o nástroji Najdete v bundle validate
tématu Ověření sady.
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
nasazení sady naleznete v tématu Nasazení sady.
Tip
Úlohy a kanály definované sadou můžete propojit s existujícími úlohami a kanály v pracovním prostoru Azure Databricks, aby byly synchronizované. Viz Vytvoření vazby prostředků sady prostředků.
Krok 7: Spuštění sady
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
Informace o bundle run
spuštění úlohy nebo kanálu najdete v tématu Spuštění úlohy nebo kanálu.
(Volitelné) Krok 8: Konfigurace sady pro CI/CD pomocí GitHubu
Pokud používáte GitHub pro CI/CD, můžete pomocí GitHub Actions spouštět databricks bundle deploy
příkazy automaticky databricks bundle run
na základě konkrétních událostí pracovního postupu GitHubu a dalších kritérií. Viz Spuštění pracovního postupu CI/CD se sadou prostředků Databricks a GitHub Actions.
Převod nastavení projektu dbx na databricks.yml
Nastavení dbx
projektu jsou ve výchozím nastavení v souboru pojmenovaném project.json
ve složce projektu .dbx
. Viz referenční informace k souboru aplikace 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 konfigurace sady prostředků Databricks.
Soubor s následujícím ukázkovým obsahem conf/project.json
:
{
"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_support
storage_type
Následující další povolené objekty v conf/project.json
souborech nejsou podporovány databricks.yml
v souborech a nemají žádná alternativní řešení:
enable-context-based-upload-for-execute
enable-failsafe-cluster-reuse-with-assets
Převod nastavení nasazení dbx na databricks.yml
Nastavení dbx
nasazení jsou ve výchozím nastavení v souboru ve složce projektu conf
. Viz referenční informace k souboru nasazení. Soubor nastavení nasazení má ve výchozím nastavení jeden z následujících názvů:
deployment.yml
deployment.yaml
deployment.json
deployment.yml.j2
deployment.yaml.j2
deployment.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 konfigurace sady prostředků Databricks.
Soubor s následujícím ukázkovým obsahem conf/deployment.yml
:
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
V souborech nejsou podporovány databricks.yml
následující objekty v předchozím conf/deployment.yml
souboru tohoto příkladu a nemají žádná alternativní řešení:
build
(i když vidíte Vývoj souboru kola Pythonu pomocí sad prostředků Databricks)
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 Azure Databricks Jobs 2.0 (místo toho použijte formát Úlohy 2.1)
dbx
Funkce Jinja- Vlastnosti založené na názvu