Vývoj úlohy s využitím deklarativních balíčků automatizace

Deklarativní balíčky automation (dříve označované jako Sady prostředků Databricks) obsahují artefakty, které chcete nasadit, a nastavení prostředků Azure Databricks, jako jsou úlohy, které chcete spustit, a umožňují je programově ověřit, nasadit a spustit. Viz Co jsou balíčky deklarativní automatizace?

Tato stránka popisuje, jak vytvořit sadu pro programovou správu úlohy. Podívejte se na Úlohy Lakeflow. Sada se vytvoří pomocí výchozí šablony sady deklarativních automatizačních sad pro Python, která se skládá z poznámkového bloku a definice úlohy, která se má spustit. Pak ověříte, nasadíte a spustíte nasazenou úlohu v pracovním prostoru Azure Databricks.

Návod

Pokud máte existující úlohy vytvořené pomocí uživatelského rozhraní úloh Lakeflow nebo rozhraní API, které chcete přesunout do sad, musíte je definovat v konfiguračních souborech sady. Databricks doporučuje nejprve vytvořit sadu pomocí následujícího postupu a ověřit, jestli sada funguje. Do sady pak můžete přidat další definice úloh, poznámkové bloky a další zdroje. Viz Načtení existující definice úlohy pomocí uživatelského rozhraní.

Pokud chcete vytvořit sadu úplně od začátku, přečtěte si téma Ruční vytvoření sady.

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.
  • 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 Databricks 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ů.

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

Nejprve nastavte ověřování mezi Rozhraním příkazového řádku Databricks na vývojovém počítači a pracovním prostorem Azure Databricks. Na této stránce se předpokládá, že chcete použít ověřování OAuth typu U2M (user-to-machine) a 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 používat místo toho ověřování OAuth pro stroj-na-stroj (M2M). Přečtěte si pokyny k nastavení ověřování M2M v tématu Autorizace přístupu instančního objektu k Azure Databricks pomocí OAuth.

  1. Pomocí Databricks CLI spusťte správu tokenů OAuth místním 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 --host společně s -p a pomoci tak Databricks CLI najít odpovídající informace o tokenu OAuth.

Krok 2: Inicializace sady

Inicializace sady pomocí výchozí šablony projektu sady Pythonu

  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 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 job that runs a notebookvyberte yes a stiskněte Enter.

  6. V Include an ETL pipelinevyberte no a stiskněte Enter.

  7. V Include a stub (sample) Python packagevyberte no a stiskněte Enter.

  8. V Use serverlessvyberte yes a stiskněte Enter. 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.

  9. Zadejte Default catalog for any tables created by this project [hive_metastore]název existujícího katalogu Unity.

  10. Vyberte Use a personal schema for each user working on this project.yes.

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. Mezi soubory, které mají zvláštní zájem, patří:

  • databricks.yml: Tento soubor určuje programový název sady, obsahuje odkazy na soubory sady, 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, včetně výchozího úkolu poznámkového bloku. Informace o nastavení úlohy najdete v úloze.
  • src/: Tato složka obsahuje zdrojové soubory úlohy.
  • src/sample_notebook.ipynb: Tento notebook čte vzorkovou tabulku.
  • 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.

Návod

Nastavení nových clusterů úloh v balíčcích můžete definovat; kombinovat a přepsat pomocí technik popsaných v části Přepsání pomocí cílových nastavení.

Krok 4: Ověření konfigurace sady

Teď zkontrolujte, 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:

    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.

Krok 5: Nasazení sady do vzdáleného pracovního prostoru

Dále nasaďte úlohu do vzdáleného pracovního prostoru Azure Databricks a ověřte úlohu v rámci pracovního prostoru.

  1. Z kořenového adresáře sady spusťte příkaz pomocí CLI Databricks: bundle deploy.

    databricks bundle deploy --target dev
    
  2. Ověřte, že byl notebook nasazen.

    1. Na bočním panelu pracovního prostoru Azure Databricks klikněte na Pracovní prostor.
    2. Přejděte do složky Users ><your-username>> .bundle ><project-name>> dev > files > src. Poznámkový blok by měl být v této složce.
  3. Zkontrolujte, jestli byla úloha vytvořena:

    1. Na bočním panelu pracovního prostoru Azure Databricks klikněte na Úlohy a kanály.
    2. Volitelně můžete vybrat filtry Práce a Vlastním.
    3. Klikněte na [dev <your-username>] sample_job.
    4. Klikněte na kartu Úkoly . Měla by existovat jedna notebook_task.

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

Krok 6: Spuštění nasazené úlohy

Teď spusťte úlohu v pracovním prostoru z příkazového řádku.

  1. Z kořenového adresáře spusťte bundle run příkaz pomocí rozhraní příkazového řádku Databricks:

    databricks bundle run --target dev sample_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. Viz Zobrazení a spuštění úlohy vytvořené pomocí deklarativních balíčků automatizace

  3. Po úspěšném dokončení úlohy a zobrazení zeleného záhlaví úlohy v pracovním prostoru Azure Databricks klikněte na úlohu, abyste zobrazili výsledky.

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

Krok 7: Spuštění testů

Nakonec použijte pytest k lokálnímu spuštění testů:

uv run pytest

Krok 8: Vyčištění

V tomto kroku odstraníte nasazený poznámkový blok a úlohu z pracovního prostoru.

  1. Z kořenového adresáře spusťte bundle destroy příkaz pomocí rozhraní příkazového řádku Databricks:

    databricks bundle destroy --target dev
    
  2. Po zobrazení výzvy k trvalému zadání všech souborů a adresářů pracovního prostoru zadejte y a stiskněte Enter.

  3. Pokud chcete také odstranit sadu z vývojového počítače, můžete teď odstranit místní adresář projektu.