Co je Apache Spark ve službě Azure HDInsight

Apache Spark je rozhraní paralelního zpracování, které podporuje zpracování v paměti pro zvýšení výkonu analytických aplikací s velkými daty. Apache Spark v Azure HDInsight je implementace služby Apache Spark v cloudu od Microsoftu a je jednou z několika nabídek Sparku v Azure.

  • Apache Spark v Azure HDInsight usnadňuje vytváření a konfiguraci clusterů Spark, což vám umožní přizpůsobit a používat úplné prostředí Spark v rámci Azure.

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

  • Apache Spark na Azure Databricks používá clustery Spark k poskytnutí interaktivního pracovního prostoru, který umožňuje spolupráci mezi uživateli při čtení dat z více zdrojů dat a jejich převratných přehledech.

  • Aktivity Sparku v 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 existujících clusterů Spark.

Díky Apache Spark Azure HDInsight můžete ukládat a zpracovávat všechna data v rámci Azure. Clustery Spark ve službě HDInsight jsou kompatibilní se službami Azure Blob Storage, Azure Data Lake Storage Gen1nebo Azure Data Lake Storage Gen2,což vám umožní použít zpracování Sparku na stávající úložiště dat.

Spark: jednotné rozhraní

Pokud chcete začít pracovat s Apache Spark v Azure HDInsight, postupujte podle našeho kurzu k vytvoření clusterů HDInsight Spark.

Informace o tom, Apache Spark a jak komunikuje s Azure, najdete v následujícím článku.

Informace o komponentách a verzích najdete v tématu Apache Hadoop a verze v 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.

Tradiční 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 Spark a načítání dat a spouštění dotazů na Apache Spark clusteru.
Rozhraní REST API Clustery Spark v HDInsight zahrnují Apache Livy, REST API úloh Sparku založený na systému pro vzdálené odesílání a monitorování úloh. Viz Použití Apache Spark REST API k odesílání vzdálených úloh do clusteru HDInsight Spark.
Podpora pro Azure Storage Clustery Spark ve službě HDInsight mohou používat Azure Data Lake Storage Gen1/Gen2 jako primární i další úložiště. 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. Streamovací aplikace můžete vytvářet pomocí 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í Azure Toolkit pro IntelliJ IDEA,Použití nástrojů Spark & Hive pro VSCodea Použití Azure Toolkit pro 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. Viz Zvýšení výkonu úloh Apache Spark s využitím Azure HDInsight mezipaměti V/V.
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 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í Azure HDInsight clusterů. Clustery Spark je také možné vyřazeny bez ztráty dat, protože všechna data jsou uložená ve službě Azure Blob Storage, Azure Data Lake Storage Gen1nebo 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.

Apache Spark clustery ve službě HDInsight zahrnují následující součásti, které jsou v clusterech k dispozici ve výchozím nastavení.

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

Architektura clusteru Spark

Architektura HDInsight Sparku

Komponenty Sparku snadno pochopíte tím, že pochopíte, jak Spark běží na clusterech HDInsight.

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

SparkContext se může připojit k několika typům správců clusteru, které poskytují prostředky napříč aplikacemi. Mezi tyto správce clusteru 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 a do distribuovaného systému souborů Hadoop. Pracovní uzly také ukládají transformovaná data do paměti jako sady RDD (Resilient Distributed Dataset).

SparkContext se připojuje k hlavnímu sparku a zodpovídá za převod aplikace na směrovaný graf (DAG) jednotlivých úloh. Úlohy, které se spouštěly v rámci procesu exekutora na pracovních uzlech. Každá aplikace získá vlastní procesy exekutora. Které zůstanou v provozu během celé aplikace a spouště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í specialisté a klíčoví specialisté na rozhodování mohou analyzovat a vytvářet sestavy nad daty. A používat Microsoft Power BI k vytváření interaktivních sestav 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 ve službě HDInsight podporují také mnoho nástrojů BI třetích stran. Například Tableau usnadňuje práci datovým analytikům, obchodním odborníkům a klíčovým tvůrcům rozhodnutí.

Spark Machine Learning

Apache Spark se dodává s MLlib. MLlib je knihovna strojového učení postavená na Sparku, kterou můžete použít z clusteru Spark ve službě HDInsight. Cluster Spark ve službě HDInsight obsahuje také Anacondu, distribuci Pythonu s různými druhy balíčků pro strojové učení. A díky integrované podpoře 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 ingestování dat z mnoha zdrojů, jako jsou Kafka, Flume, Twitter, ZeroMQ nebo sokety TCP. Spark v HDInsight přidává prvotřídní podporu pro ingestování dat z Azure Event Hubs. Event Hubs je nejpoužívanější službou řazení front v Azure. Díky úplné podpoře pro Event Hubs jsou clustery Spark v HDInsight ideální platformou pro vytváření analytického kanálu v reálném čase.

Další kroky

V tomto přehledu máte základní znalosti o tom, jak Apache Spark v Azure HDInsight. V následujících článcích se dozvíte další informace o Apache Spark v HDInsight a můžete vytvořit cluster HDInsight Spark a dále spustit několik ukázkových dotazů Sparku: