Co je Apache Spark v Azure HDInsight

Apache Spark je architektura paralelního zpracování, která podporuje zpracování v paměti za účelem zvýšení výkonu analytických aplikací pro velké objemy dat. Apache Spark v Azure HDInsight je implementace Apache Sparku v cloudu od Microsoftu a je jednou z několika nabídek Spark v Azure.

  • Apache Spark ve službě Azure HDInsight usnadňuje vytváření a konfiguraci clusterů Spark a umožňuje přizpůsobit a používat kompletní prostředí Spark v Rámci Azure.

  • Fondy Sparku ve službě Azure Synapse Analytics používají spravované fondy Sparku, které umožňují načtení, modelování, zpracování a distribuci dat pro analytické přehledy v Rámci Azure.

  • Apache Spark v Azure Databricks používá clustery Spark k poskytování interaktivního pracovního prostoru, který umožňuje spolupráci mezi uživateli číst data z více zdrojů dat a přeměnit je na převratné přehledy.

  • Aktivity Sparku ve službě Azure Data Factory umožňují používat analýzy Sparku ve vašem datovém kanálu pomocí clusterů Spark na vyžádání nebo již existujících clusterů Spark.

Pomocí Apache Sparku ve službě Azure HDInsight můžete ukládat a zpracovávat data v rámci Azure. Clustery Spark ve službě HDInsight jsou kompatibilní se službou Azure Blob Storage, Azure Data Lake Storage Gen1 nebo Azure Data Lake Storage Gen2 a umožňují použít zpracování Sparku ve stávajících úložištích dat.

Spark: a unified framework.

Pokud chcete začít s Apache Sparkem v Azure HDInsight, postupujte podle našeho kurzu a vytvořte clustery HDInsight Spark.

Informace o Apache Sparku a způsobu interakce s Azure najdete v následujícím článku.

Informace o komponentách a správě verzí najdete v tématu Komponenty a verze Apache Hadoopu ve službě Azure HDInsight.

Co je Apache Spark?

Spark poskytuje primitivy pro clusterové výpočty v paměti. Úloha Sparku dokáže data načíst a uložit je do mezipaměti a opakovaně se na ně dotazovat. Výpočetní prostředí v paměti je mnohem rychlejší než diskové aplikace, jako je Hadoop, které sdílí data prostřednictvím distribuovaného systému souborů Hadoop (HDFS). Spark se také integruje do programovacího jazyka Scala a díky tomu umožňuje pracovat s distribuovanými datovými sadami stejně jako s místními kolekcemi. Není nutné strukturovat všechno jako mapovací a redukční operace.

Traditional MapReduce vs. Spark.

Clustery Spark ve službě HDInsight nabízejí plně spravovanou službu Spark. Tady najdete výhody, které přináší vytvoření clusteru Spark ve službě HDInsight.

Funkce Popis
Snadné vytvoření Nový cluster Spark ve službě HDInsight můžete vytvořit během několika minut pomocí webu Azure Portal, Azure PowerShellu nebo sady HDInsight .NET SDK. Viz Začínáme s clusterem Apache Spark ve službě HDInsight.
Jednoduché používání Cluster Spark ve službě HDInsight zahrnuje poznámkové bloky Jupyter a poznámkové bloky Apache Zeppelin. Tyto poznámkové bloky můžete použít pro interaktivní zpracování dat a vizualizaci. Viz Použití poznámkových bloků Apache Zeppelin s Apache Sparkem a načtení dat a spouštění dotazů v clusteru Apache Spark.
Rozhraní REST API Clustery Spark v HDInsight zahrnují Apache Livy, server úloh Spark založený na rozhraní REST API pro vzdálené odesílání a monitorování úloh. Viz Použití rozhraní Apache Spark REST API k odesílání vzdálených úloh do clusteru HDInsight Spark.
Podpora pro Azure Storage Clustery Spark v HDInsight můžou jako primární úložiště nebo další úložiště používat Azure Data Lake Storage Gen1/Gen2. Další informace o Data Lake Storage Gen1 najdete v tématu Azure Data Lake Storage Gen1. Další informace o Data Lake Storage Gen2 najdete v tématu Azure Data Lake Storage Gen2.
Integrace se službami Azure Cluster Spark ve službě HDInsight se dodává s konektorem k Azure Event Hubs. Streamované aplikace můžete vytvářet pomocí služby Event Hubs. Včetně Apache Kafka, který je již k dispozici jako součást Sparku.
Integrace v prostředí IDE třetích stran HDInsight poskytuje několik modulů plug-in pro integrovaná vývojová prostředí (IDE), které jsou užitečné k vytváření a odesílání aplikací do clusteru HDInsight Spark. Další informace najdete v tématu Použití sady Azure Toolkit for IntelliJ IDEA, Použití nástrojů Spark &Hive pro VSCode a Použití sady Azure Toolkit for Eclipse.
Počet souběžných dotazů Clustery Spark v HDInsight podporují souběžné dotazy. Tato schopnost umožňuje sdílení stejných prostředků clusteru pro více dotazů od jednoho uživatele nebo více dotazů od různých uživatelů a aplikací.
Ukládání do mezipaměti na SSD Data do mezipaměti můžete ukládat volitelně buď do paměti nebo na SSD disky připojené k uzlům clusteru. Ukládání do mezipaměti zajišťuje nejlepší výkon dotazů, ale může být nákladné. Ukládání na disky SSD poskytuje skvělou možnost pro zlepšení výkonu dotazů, aniž by bylo nutné vytvořit cluster velikosti, která je potřeba pro umístění celé datové sady do paměti. Podívejte se na vylepšení výkonu úloh Apache Sparku pomocí azure HDInsight IO Cache.
Integrace s nástroji BI Clustery Spark ve službě HDInsight nabízí konektory pro nástroje BI, například Power BI pro analýzu dat.
Předem zavedené knihovny Anaconda Clustery Spark ve službě HDInsight obsahují předinstalované knihovny Anaconda. Anaconda poskytuje téměř 200 knihoven pro strojové učení, analýzu dat, vizualizaci atd.
Přizpůsobivost HDInsight umožňuje dynamicky měnit počet uzlů clusteru pomocí funkce automatického škálování. Viz Automatické škálování clusterů Azure HDInsight. Clustery Spark je také možné vynechat bez ztráty dat, protože všechna data jsou uložená ve službě Azure Blob Storage, Azure Data Lake Storage Gen1 nebo Azure Data Lake Storage Gen2.
SLA Clustery Spark ve službě HDInsight přináší nepřetržitou podporu a smlouvu SLA zajišťující 99,9% dostupnost.

Clustery Apache Spark v HDInsight zahrnují následující komponenty, které jsou ve výchozím nastavení dostupné v clusterech.

HdInsight Spark clusteruje ovladač ODBC pro připojení z nástrojů BI, jako je Microsoft Power BI.

Architektura clusteru Spark

The architecture of HDInsight Spark.

Je snadné pochopit komponenty Sparku tím, že pochopíte, jak Spark běží v clusterech HDInsight.

Aplikace Spark běží v clusteru jako nezávislé sady procesů. Koordinuje objekt SparkContext v hlavním programu (nazývá se program ovladače).

SparkContext se může připojit k několika typům správců clusterů, které poskytují prostředky napříč aplikacemi. Mezi tyto správce clusterů patří Apache Mesos, Apache Hadoop YARN nebo správce clusteru Spark. V HDInsight se Spark spouští pomocí správce clusteru YARN. Po připojení Spark získá exekutory na pracovních uzlech v clusteru, což jsou procesy, které provádí výpočty a ukládají data pro vaši aplikaci. Pak do exekutorů odešle kód vaší aplikace (definovaný v souborech JAR nebo Pythonu předaných do objektu SparkContext). Nakonec SparkContext odešle do exekutorů úlohy ke spuštění.

SparkContext spouští hlavní funkci uživatele a provádí různé paralelní operace na pracovních uzlech. Potom SparkContext shromažďuje výsledky těchto operací. Pracovní uzly čtou a zapisují data z distribuovaného systému souborů Hadoop a zapisují je. Pracovní uzly také ukládají transformovaná data do paměti jako sady RDD (Resilient Distributed Dataset).

SparkContext se připojí k hlavnímu serveru Spark a zodpovídá za převod aplikace na směrovaný graf (DAG) jednotlivých úloh. Úlohy, které se provádějí v rámci procesu exekutoru na pracovních uzlech Každá aplikace získá vlastní procesy exekutoru. To zůstane vzhůru během celé aplikace a spouští úlohy ve více vláknech.

Případy použití Sparku ve službě HDInsight

Clustery Spark v HDInsight podporují následující klíčové scénáře:

Interaktivní analýzu dat a BI

Apache Spark v HDInsight ukládá data ve službě Azure Blob Storage, Azure Data Lake Gen1 nebo Azure Data Lake Storage Gen2. Obchodní odborníci a klíčová pracovníci s rozhodovací pravomocí můžou tato data analyzovat a vytvářet sestavy. A pomocí Microsoft Power BI můžete vytvářet interaktivní sestavy z analyzovaných dat. Analytici mohou začínat z nestrukturovaných / částečně strukturovaných dat v úložišti clusteru, definovat schéma pro data s využitím poznámkových bloků a následně vytvořit modely dat pomocí Microsoft Power BI. Clustery Spark v HDInsight také podporují mnoho nástrojů BI třetích stran. Například Tableau, což usnadňuje analytikům dat, obchodním odborníkům a klíčovým rozhodovacím faktorům.

Spark Machine Learning

Apache Spark je součástí knihovny MLlib. MLlib je knihovna strojového učení založená na Sparku, kterou můžete použít z clusteru Spark ve službě HDInsight. Cluster Spark v HDInsight zahrnuje také Anaconda, distribuci Pythonu s různými druhy balíčků pro strojové učení. A s integrovanou podporou poznámkových bloků Jupyter a Zeppelin máte prostředí pro vytváření aplikací strojového učení.

Vysílání datových proudů a analýza dat v reálném čase ve Sparku

Clustery Spark v HDInsight nabízí bohatou podporu pro vytváření řešení pro analýzu v reálném čase. Spark už má konektory pro příjem dat z mnoha zdrojů, jako jsou Kafka, Flume, Twitter, ZeroMQ nebo sokety TCP. Spark ve službě HDInsight přidává prvotřídní podporu příjmu dat ze služby Azure Event Hubs. Event Hubs je nejpoužívanější službou řazení front v Azure. Díky úplné podpoře služby Event Hubs jsou clustery Spark v HDInsight ideální platformou pro vytváření kanálu analýzy v reálném čase.

Další kroky

V tomto přehledu jste získali základní znalosti Apache Sparku ve službě Azure HDInsight. Další informace o Apache Sparku ve službě HDInsight najdete v následujících článcích a můžete vytvořit cluster HDInsight Spark a dále spustit několik ukázkových dotazů Spark: