Sdílet prostřednictvím


Úlohy Lakeflow

Úlohy Lakeflow jsou automatizace pracovních postupů pro Azure Databricks a poskytují orchestraci úloh zpracování dat, abyste mohli koordinovat a spouštět více úloh jako součást většího pracovního postupu. Můžete optimalizovat a naplánovat provádění častých, opakovatelných úloh a spravovat složité pracovní postupy.

Tento článek představuje koncepty a volby související se správou produkčních úloh pomocí úloh Lakeflow.

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.

Příklad znázorňující úlohu v uživatelském rozhraní se 4 úkoly a triggerem, který se má spouštět každý den.

Tato ukázková úloha má následující charakteristiky:

  1. První úkol zpracovává údaje o výnosech.
  2. Druhý úkol je ověřit podmínku if / else pro nulové hodnoty.
  3. Pokud ne, spustí se úloha transformace.
  4. Jinak spustí úlohu poznámkového bloku s ověřením kvality dat.
  5. Je naplánováno spuštění ve stejnou dobu každý den.

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í úloh Lakeflow.

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í úloh Lakeflow pro orchestraci v Azure Databricks existují tři hlavní koncepty: úlohy, úkoly 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 předávají úkolům v rámci dané ú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 v poznámkovém 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í deklarativní kanály Sparku Lakeflow, jako je materializované zobrazení nebo tabulka streamování.
  • Ú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 orchestraci najdete v tématu Monitorování a pozorovatelnost úloh Lakeflow.

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ž 1 000 ú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:

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. Podívejte se na Orchestrace úloh Lakeflow s 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.