Přehled orchestrace v Databricks
Azure Databricks poskytuje integrované prostředí pro orchestraci úloh zpracování dat, abyste mohli koordinovat a spouštět více úloh v rámci většího pracovního postupu. Můžete zjednodušit, optimalizovat a naplánovat provádění častých opakovatelných úloh, což usnadňuje správu složitých pracovních postupů.
Tento článek představuje koncepty a volby související se správou produkčních úloh pomocí úloh Databricks.
Co jsou úlohy?
V Databricks se úloha používá k plánování a orchestraci úkolů v Databricks v pracovním postupu . Mezi běžné pracovní postupy zpracování dat patří pracovní postupy ETL, spouštění poznámkových bloků a pracovní postupy strojového učení (ML), a také integrace s externími systémy, jako jsou dbt a Azure Data Factory (ADF).
Úlohy se skládají z jednoho nebo více úkolů a podporují logiku řízení toku, jako je větvení (if / else příkazy) nebo cyklení (for each příkazy) pomocí vizuálního uživatelského rozhraní pro vytváření. Úlohy můžou načítat nebo transformovat data v pracovním postupu ETL, trénovat a nasazovat modely ML řízeným a opakovatelným způsobem jako součást kanálů strojového učení.
Příklad: Úloha každodenního zpracování a ověření dat
Následující příklad ukazuje úlohu v Azure Databricks.
Tato ukázková úloha má následující charakteristiky:
- První úkol zpracovává údaje o výnosech.
- Druhý úkol je ověřit podmínku if / else pro nulové hodnoty.
- Pokud ne, spustí se úloha transformace.
- Jinak spustí úlohu poznámkového bloku s ověřením kvality dat.
- Je naplánováno, že se bude každý den spouštět v 11:29 dopoledne.
Pokud chcete získat rychlý úvod k vytváření vlastní úlohy, přečtěte si téma Vytvoření prvního pracovního postupu pomocí úlohy Azure Databricks.
Běžné případy použití
Od základních principů přípravy dat až po pokročilou integraci nástrojů a strojového učení a bezproblémové integrace nástrojů představují tyto běžné případy použití řadu možností, které řídí moderní analýzy, automatizaci pracovních postupů a škálovatelnost infrastruktury.
Koncepty orchestrace
Při použití orchestrace v Azure Databricks existují tři hlavní koncepty: úlohy, úlohy a triggery.
práce – práce je primárním zdrojem pro koordinaci, plánování a provádění vašich operací. Úlohy se můžou lišit od jedné úlohy, na které běží poznámkový blok Azure Databricks, až po stovky úloh s podmíněnou logikou a závislostmi. Úkoly v úloze jsou vizuálně reprezentovány řízeným Acyklickém grafem (DAG). Pro úlohu můžete zadat vlastnosti, mezi které patří:
- Spouštěč – určuje, kdy se má úloha spustit.
- Parametry – parametry za běhu, které se automaticky odsílají do úkolů v rámci úlohy.
- Oznámení – e-maily nebo webhooky, které se mají odeslat, když úloha selže nebo trvá příliš dlouho.
- Git – nastavení správy zdrojového kódu pro úlohy.
Úkol – úkol je konkrétní jednotka práce v rámci celkového úkolu. Každý úkol může provádět různé operace, mezi které patří:
- Úloha poznámkového bloku spustí poznámkový blok Databricks. Zadáte cestu k poznámkovému bloku a všechny parametry, které vyžaduje.
- Úloha pipeline spustí potrubí. Můžete zadat existující DLT pipeline, například materializované zobrazení nebo streamovací tabulku.
- Úlohy skriptu Pythonu spouští soubor Pythonu. Zadáte cestu k souboru a všechny potřebné parametry.
Existuje mnoho typů úkolů. Úplný seznam najdete v tématu Typy úkolů. Úkoly můžou mít závislosti na jiných úkolech a podmíněně spouštět další úlohy, což umožňuje vytvářet složité pracovní postupy s podmíněnou logikou a závislostmi.
Spouštěč – Spouštěč je mechanismus, který spouští úlohu na základě konkrétních podmínek nebo událostí. Aktivační událost může být založená na čase, jako je například spuštění úlohy v naplánovaném čase (například každý den ve 2:00) nebo na základě událostí, jako je spuštění úlohy při příchodu nových dat do cloudového úložiště.
monitorování a pozorovatelnost
Úlohy poskytují integrovanou podporu monitorování a pozorovatelnosti. Následující témata poskytují přehled této podpory. Další podrobnosti o monitorování úloh a orchestrace naleznete v sekci Monitorování a pozorovatelnost pro úlohy Databricks.
Monitorování a pozorovatelnost úloh v uživatelském rozhraní – V uživatelském rozhraní Azure Databricks můžete zobrazit úlohy, včetně podrobností, jako je vlastník úlohy a výsledek posledního spuštění, a filtrovat podle vlastností úlohy. Můžete zobrazit historii spuštění úloh a získat podrobné informace o jednotlivých úkolech v úloze.
stav spuštění úlohy a metriky – Databricks hlásí úspěšné spuštění úlohy a protokoly a metriky pro jednotlivé úlohy v rámci spuštění úlohy za účelem diagnostiky problémů a pochopení výkonu.
Oznámení a Upozornění – Oznámení pro události úloh můžete nastavit e-mailem, Slackem, vlastními webhooky a dalšími možnostmi.
vlastní dotazy prostřednictvím systémových tabulek – Azure Databricks poskytuje systémové tabulky, které zaznamenávají spuštění úloh a úlohy v rámci účtu. Tyto tabulky můžete použít k dotazování a analýze výkonu a nákladů úloh. Můžete vytvářet řídicí panely pro vizualizaci metrik úloh a trendů, které vám pomůžou monitorovat stav a výkon pracovních postupů.
Omezení
Jsou to následující omezení:
- Pracovní prostor je omezen na 2000 souběžných spuštění úloh. Když si vyžádáte spuštění, které nejde zahájit okamžitě, vrátí se odpověď
429 Too Many Requests
. - Počet úloh, které může pracovní prostor vytvořit za hodinu, je omezen na 10 000 (zahrnuje „odeslání spuštění“). Tento limit má vliv také na úlohy vytvořené rozhraním REST API a pracovními postupy poznámkových bloků.
- Pracovní prostor může obsahovat až 12000 uložených úloh.
- Úloha může obsahovat až 100 úkolů.
Můžu spravovat pracovní postupy prostřednictvím kódu programu?
Databricks obsahuje nástroje a rozhraní API, které umožňují plánovat a orchestrovat pracovní postupy prostřednictvím kódu programu, včetně následujících:
- Databricks CLI
- Sady prostředků Databricks
- Rozšíření Databricks pro Visual Studio Code
- SDK Databricks
- REST API pro úlohy
Příklady použití nástrojů a rozhraní API k vytváření a správě úloh najdete v tématu Automatizace vytváření a správy úloh. Dokumentaci ke všem dostupným vývojářským nástrojům najdete v tématu místní vývojové nástroje.
Externí nástroje používají nástroje a rozhraní API Databricks k programovému plánování pracovních postupů. Úlohy můžete naplánovat pomocí nástrojů, jako je Azure Data Factory nebo Apache AirFlow.
Orchestrace pracovních postupů pomocí Apache AirFlow
Apache Airflow můžete použít ke správě a plánování datových pracovních postupů. Pomocí Airflow definujete pracovní postup v souboru Pythonu a Airflow spravuje plánování a spouštění pracovního postupu. Viz Orchestrace úloh Azure Databricks pomocí Apache Airflow.
Orchestrace pracovních postupů pomocí Azure Data Factory
Azure Data Factory (ADF) je cloudová služba pro integraci dat, která umožňuje vytvářet úložiště dat, přesun a zpracování služeb do automatizovaných datových kanálů. ADF můžete použít k orchestraci úlohy Azure Databricks jako součásti kanálu ADF.
ADF má také integrovanou podporu spouštění poznámkových bloků Databricks, skriptů Pythonu nebo kódu zabalených v jarech v kanálu ADF.
Informace o spuštění poznámkového bloku Databricks v kanálu ADF najdete v tématu Spuštění poznámkového bloku Databricks s aktivitou poznámkového bloku Databricks ve službě Azure Data Factory, a poté Transformace dat spuštěním poznámkového bloku Databricks.
Informace o tom, jak spustit skript Pythonu v kanálu ADF, najdete v tématu Transformace dat spuštěním aktivity Pythonu v Azure Databricks.
Informace o spouštění kódu zabaleného v souboru JAR v kanálu ADF najdete v tématu Transformace dat spuštěním aktivity JAR v Azure Databricks.