Sdílet prostřednictvím


Použití Azure Databricks k implementaci škálovatelného dávkového vyhodnocování modelů Sparku

Microsoft Entra ID
Azure Databricks
Azure Data Factory
Azure Blob Storage

Tato referenční architektura ukazuje, jak vytvořit škálovatelné řešení pro dávkové vyhodnocování klasifikačního modelu Apache Sparku podle plánu pomocí Azure Databricks. Azure Databricks je analytická platforma založená na Apache Sparku optimalizovaná pro Azure.

Azure Databricks nabízí tři prostředí pro vývoj aplikací náročných na data: Databricks SQL, Databricks Datová Věda & Engineering a Databricks Machine Learning. Databricks Machine Learning je integrované komplexní prostředí strojového učení, které zahrnuje spravované služby pro sledování experimentů, trénování modelů, vývoj a správu funkcí a obsluhu funkcí a modelů. Tuto referenční architekturu můžete použít jako šablonu, která se dá zobecnit v jiných scénářích.

Apache® a Apache Spark® jsou registrované ochranné známky nebo ochranné známky Apache Software Foundation v USA a/nebo v jiných zemích. Použití těchto značek nevyžaduje žádné doporučení Apache Software Foundation.

Architektura

Diagram znázorňující dávkové vyhodnocování modelů klasifikace Apache Sparku v Azure Databricks

Stáhněte si soubor aplikace Visio s touto architekturou.

Pracovní postup

Architektura definuje tok dat, který je zcela obsažený v azure Databricks na základě sady postupně spouštěných poznámkových bloků. Skládá se z následujících součástí:

Datové soubory. Referenční implementace používá simulovanou datovou sadu obsaženou v pěti statických datových souborech.

Příjem dat. Poznámkový blok pro příjem dat stáhne vstupní datové soubory do kolekce datových sad Databricks. V reálném scénáři by data ze zařízení IoT streamovala do úložiště přístupného pro Databricks, jako je Azure SQL nebo Azure Blob Storage. Databricks podporuje více zdrojů dat.

Mezi nedávná vylepšení příjmu dat patří replikace dat z různých databází a aplikací SaaS v reálném čase, které umožňují funkce jako Lake House Federation.

Trénovací kanál. Tento poznámkový blok spustí poznámkový blok přípravy funkcí, který vytvoří sadu dat analýzy z přijatých dat. Kanál pak spustí poznámkový blok pro vytváření modelů, který trénuje model strojového učení pomocí knihovny Apache Spark MLlib škálovatelné knihovny strojového učení.

Rozšířené funkce ML v Databricks zahrnují sledování experimentů a trénování modelů a dále optimalizuje tento kanál.

Bodovací kanál. Tento poznámkový blok spustí poznámkový blok přípravy funkcí, který vytvoří datovou sadu bodování z přijatých dat a spustí bodovací poznámkový blok. Bodovací poznámkový blok používá vytrénovaný model Spark MLlib k vygenerování predikcí pozorování v hodnoticí sadě dat. Předpovědi jsou uloženy v úložišti výsledků, novou datovou sadu v úložišti dat Databricks.

Kanál bodování může použít funkci ai_query pro dávkové odvozování, efektivně zpracovávat velké datové sady s ustanoveními pro škálovatelnost a optimalizaci výkonu.

Plánovač. Naplánovaná úloha Databricks zpracovává dávkové vyhodnocování pomocí modelu Spark. Úloha spustí poznámkový blok kanálu bodování a předá argumenty proměnných prostřednictvím parametrů poznámkového bloku, aby určil podrobnosti pro vytvoření hodnoticí datové sady a umístění pro uložení sady dat výsledků.

Podrobnosti řešení

Scénář je vytvořený jako tok kanálu. Každý poznámkový blok je optimalizovaný tak, aby se prováděl v dávkovém nastavení pro každou operaci: příjem dat, příprava funkcí, sestavování modelů a bodování modelů. Poznámkový blok pro přípravu funkcí je navržený tak, aby vygeneroval obecnou datovou sadu pro jakékoli operace trénování, kalibrace, testování nebo bodování. V tomto scénáři používáme pro tyto operace dočasnou strategii rozdělení, takže parametry poznámkového bloku slouží k nastavení filtrování rozsahu kalendářních dat.

Potenciální případy použití

Firma v odvětví náročném na prostředky chce minimalizovat náklady a výpadky spojené s neočekávanými mechanickými selháními. Pomocí dat IoT shromážděných ze svých počítačů můžou vytvořit model prediktivní údržby. Tento model umožňuje firmě aktivně udržovat komponenty a opravit je před selháním. Maximalizací použití mechanických komponent může řídit náklady a snížit prostoje.

Model prediktivní údržby shromažďuje data z počítačů a uchovává historické příklady selhání komponent. Model se pak dá použít k monitorování aktuálního stavu komponent a k predikci, jestli daná komponenta brzy selže.

Tato referenční architektura je určená pro úlohy aktivované přítomností nových dat z počítačů komponent. Zpracování zahrnuje následující kroky:

  1. Ingestování dat z externího úložiště dat do úložiště dat Azure Databricks

  2. Trénování modelu strojového učení transformací dat do trénovací sady dat a následným sestavením modelu Spark MLlib Knihovna MLlib se skládá z nejběžnějších algoritmů strojového učení a nástrojů optimalizovaných tak, aby využívaly možnosti škálovatelnosti dat Sparku.

  3. Pomocí trénovaného modelu můžete předpovědět (klasifikovat) chyby komponent transformací dat do hodnoticí sady dat. Určení skóre dat pomocí modelu Spark MLLib

  4. Výsledky uložte do úložiště dat Databricks pro účely následného zpracování.

Alternativy

Tato architektura může používat modelu Bezserverové služby Azure Databricks k nasazení modelů pro dávkové a odvozování v reálném čase. Poskytuje rozhraní pro dynamické škálování prostředků, což zvyšuje výkon i nákladovou efektivitu při zpracování velkých datových sad.

Vyvíjejte složitější naplánované kanály pomocí Microsoft Fabric s Azure Databricks.

Doporučení

Databricks je nastavený tak, abyste mohli načíst a nasadit natrénované modely, abyste mohli vytvářet předpovědi s novými daty. Databricks také poskytuje další výhody:

  • Podpora jednotného přihlašování pomocí přihlašovacích údajů Microsoft Entra
  • Plánovač úloh pro spouštění úloh pro produkční kanály
  • Plně interaktivní poznámkový blok se spoluprácemi, řídicími panely a rozhraními REST API
  • Neomezené clustery, které se dají škálovat na libovolnou velikost.
  • Pokročilé zabezpečení, řízení přístupu na základě role a protokoly auditu

Pokud chcete pracovat se službou Azure Databricks, použijte rozhraní pracovního prostoru Databricks ve webovém prohlížeči nebo rozhraní příkazového řádku (CLI).

Tato architektura používá poznámkové bloky k provádění úkolů v pořadí. Každý poznámkový blok ukládá přechodné artefakty dat (trénování, testování, bodování nebo sady dat výsledků) do stejného úložiště dat jako vstupní data. Cílem je usnadnit vám jeho používání podle potřeby v konkrétním případě použití. V praxi byste svůj zdroj dat připojili k instanci Azure Databricks, aby poznámkové bloky mohli číst a zapisovat přímo do úložiště.

Podle potřeby monitorujte provádění úloh prostřednictvím uživatelského rozhraní Databricks, úložiště dat nebo rozhraní příkazového řádku Databricks. Monitorujte cluster pomocí protokolu událostí a dalších metrik , které Databricks poskytuje.

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Spolehlivost

Spolehlivost zajišťuje, že vaše aplikace může splňovat závazky, které uděláte pro vaše zákazníky. Další informace naleznete v tématu Kontrolní seznam pro kontrolu spolehlivosti.

V této architektuře se data ukládají přímo v úložišti Databricks kvůli jednoduchosti. V produkčním nastavení byste ale měli ukládat data do cloudového úložiště dat, jako je azure Blob Storage. Databricks podporuje také Azure Data Lake Store, Microsoft Fabric, Azure Cosmos DB, Apache Kafkaa Apache Hadoop.

Optimalizace nákladů

Optimalizacenákladůch Další informace naleznete v tématu Kontrolní seznam pro kontrolu návrhu proOptimalizace nákladů .

Azure Databricks je prémiová nabídka Sparku s přidruženými náklady. Kromě toho existují cenové úrovně Standard a Premium Databricks.

Pro tento scénář stačí cenová úroveň Standard. Pokud ale vaše konkrétní aplikace vyžaduje automatické škálování clusterů pro zpracování větších úloh nebo interaktivních řídicích panelů Databricks, může úroveň Premium dále zvýšit náklady.

Efektivita výkonu

Efektivita výkonu je schopnost vaší úlohy efektivně splňovat požadavky, které na ni mají uživatelé. Další informace naleznete v tématu Kontrola návrhu kontrolní seznam pro zvýšení efektivity výkonu.

Cluster Azure Databricks ve výchozím nastavení umožňuje automatické škálování, aby databricks během běhu dynamicky relokuje pracovní procesy, aby zohlednily charakteristiky vaší úlohy. Některé části kanálu můžou být výpočetně náročnější než jiné. Databricks během těchto fází vaší úlohy přidá další pracovní procesy (a odebere je, když už nejsou potřeba). Automatické škálování usnadňuje dosažení vysokého využití clusteru, protože nemusíte zřizovat cluster tak, aby odpovídal úloze.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autoři:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky