Mi az az Azure HDInsight-alapú Apache Spark?

Az Apache Spark egy párhuzamos feldolgozási keretrendszer, amely támogatja a memórián belüli feldolgozást a big data elemzési alkalmazások teljesítményének növelése érdekében. Az Apache Spark az Azure HDInsightban az Apache Spark Microsoft-implementációja a felhőben, és az Azure számos Spark-ajánlatának egyike.

  • Az Apache Spark az Azure HDInsightban megkönnyíti a Spark-fürtök létrehozását és konfigurálását, így testre szabhatja és használhatja a teljes Spark-környezetet az Azure-ban.

  • Az Azure Synapse Analytics Spark-készletei felügyelt Spark-készletek használatával teszik lehetővé az adatok betöltését, modellezését, feldolgozását és terjesztését az Azure-on belüli elemzési elemzésekhez.

  • Az Azure Databricksben futó Apache Spark Spark Spark-fürtökkel interaktív munkaterületet biztosít, amely lehetővé teszi a felhasználók közötti együttműködést, hogy több adatforrásból származó adatokat olvassanak, és áttörést jelentő megállapításokká alakítsák őket.

  • Az Azure Data Factory Spark-tevékenységei lehetővé teszik a Spark-elemzések használatát az adatfolyamban igény szerinti vagy meglévő Spark-fürtök használatával.

Az Apache Spark az Azure HDInsightban való használatával az összes adatot tárolhatja és feldolgozhatja az Azure-ban. A HDInsight-alapú Spark-fürtök kompatibilisek az Azure Blob Storage, az Azure Data Lake Storage Gen1 vagy az Azure Data Lake Storage Gen2 szolgáltatással, így Spark-feldolgozást alkalmazhat a meglévő adattárakra.

Spark: a unified framework

Az Apache Spark Azure HDInsightban való használatának megkezdéséhez kövesse az oktatóanyagunkat a HDInsight Spark-fürtök létrehozásához.

Az Apache Sparkról és az Azure-ral való interakcióról további információt az alábbi cikkben talál.

Az összetevőkkel és a verziószámozással kapcsolatos információkért tekintse meg az Apache Hadoop-összetevőket és -verziókat az Azure HDInsightban.

Mi az az Apache Spark?

a Spark alapelemeket nyújt a memórián belüli fürtszámításhoz. A Spark-feladatokkal az adatok betölthetők és gyorsítótárazhatók a memóriába, majd ismétlődő jelleggel lekérdezhetők. A memórián belüli számítástechnika sokkal gyorsabb, mint a lemezalapú alkalmazások, például a Hadoop, amely hadoop elosztott fájlrendszeren (HDFS) keresztül osztja meg az adatokat. A Spark a Scala programozási nyelvbe is integrálható, így a helyi gyűjteményekhez hasonlóan módosíthatja az elosztott adatkészleteket. Nem kell mindent térképként rendszerezni és csökkenteni a műveletek számát.

Traditional MapReduce vs. Spark

A HDInsight-alapú Spark-fürtök teljes körűen felügyelt Spark szolgáltatást nyújtanak. A HDInsight-alapú Spark-fürt létrehozásának előnyeit ez a lista foglalja össze.

Szolgáltatás Leírás
Könnyű létrehozás Az Azure Portal, az Azure PowerShell vagy a HDInsight .NET SDK használatával percek alatt létrehozható egy új Spark-fürt a HDInsight platformon. Tekintse meg az Apache Spark-fürt HDInsightban való használatának első lépéseit.
Egyszerű használat A HDInsight spark-fürtje jupyter notebookokat és Apache Zeppelin notebookokat tartalmaz. Ezeket a notebookokat interaktív adatfeldolgozásra és -vizualizációra használhatja. Lásd: Apache Zeppelin-jegyzetfüzetek használata Apache Spark- és Load-adatokkal, valamint lekérdezések futtatása Apache Spark-fürtön.
REST API-k A HDInsight spark-fürtjei közé tartozik az Apache Livy, egy REST API-alapú Spark-feladatkiszolgáló, amely távolról küldi el és figyeli a feladatokat. Lásd: Távoli feladatok elküldése HDInsight Spark-fürtbe az Apache Spark REST API használatával.
Az Azure Storage támogatása A HDInsight-beli Spark-fürtök elsődleges vagy további tárolóként is használhatják az Azure Data Lake Storage Gen1/Gen2-t. Az 1. generációs Data Lake Storage-ról további információt az 1. generációs Azure Data Lake Storage-ban talál. További információ a Data Lake Storage Gen2-ről: Azure Data Lake Storage Gen2.
Integráció az Azure-szolgáltatásokkal A HDInsight-alapú Spark-fürt Azure Event Hubs-összekötőt is tartalmaz. Streamelési alkalmazásokat az Event Hubs használatával hozhat létre. Beleértve az Apache Kafkát is, amely már elérhető a Spark részeként.
Integráció külső integrált fejlesztői környezetekkel (IDE) A HDInsight számos olyan IDE beépülő modult biztosít, amely alkalmazások létrehozásához és egy HDInsight Spark-fürt számára történő elküldéséhez bizonyulhat hasznosnak. További információ: Az Azure Toolkit for IntelliJ IDEA használata, a Spark & Hive Tools for VSCode használata és az Azure Toolkit for Eclipse használata.
Egyidejű lekérdezések A HDInsight-alapú Spark-fürtök támogatják az egyidejű lekérdezéseket. E képesség révén lehetővé válik, hogy az egyetlen, illetve a több felhasználótól és alkalmazástól származó több lekérdezés ugyanazokat a fürterőforrásokat használja.
Gyorsítótárazás SSD meghajtókon Az adatok gyorsítótárazása történhet a memóriában vagy a fürtcsomópontokhoz kapcsolt SSD meghajtókon is. A memóriában történő gyorsítótárazás biztosítja a legjobb lekérdezési teljesítményt, ugyanakkor drága lehet. Az SSD-meghajtókon történő gyorsítótárazással viszont úgy javítható hatékonyan a lekérdezési teljesítmény, hogy ahhoz nincs szükség a memória teljes adatkészletéhez igazodó méretű fürt létrehozására. Lásd : Apache Spark-számítási feladatok teljesítményének javítása az Azure HDInsight IO Cache használatával.
Integráció BI-eszközökkel A HDInsight-alapú Spark-fürtök összekötőket biztosítanak az olyan BI-eszközökhöz, mint a Power BI az adatelemzéshez.
Előre betöltött Anaconda-könyvtárak A HDInsight-alapú Spark-fürtök előre telepített Anaconda-könyvtárakkal rendelkeznek. Az Anaconda közel 200 kódtárat biztosít gépi tanuláshoz, adatelemzéshez, vizualizációhoz stb.
Alkalmazkodóképesség A HDInsight lehetővé teszi a fürtcsomópontok számának dinamikus módosítását az automatikus skálázási funkcióval. Lásd: Azure HDInsight-fürtök automatikus méretezése. A Spark-fürtök adatvesztés nélkül is elvethetők, mivel az összes adat az Azure Blob Storage-ban, az Azure Data Lake Storage Gen1-ben vagy az Azure Data Lake Storage Gen2-ben van tárolva.
SLA A HDInsight-alapú Spark-fürtökhöz a hét minden napján 24 órás ügyfélszolgálat, valamint az SLA által garantált 99,9%-os üzemidő jár.

A HDInsightban futó Apache Spark-fürtök a következő összetevőket tartalmazzák, amelyek alapértelmezés szerint elérhetők a fürtökön.

A HDInsight Spark egy ODBC-illesztőt fürtöz a bi-eszközök, például a Microsoft Power BI csatlakoztatásához.

Spark-fürtarchitektúra

The architecture of HDInsight Spark

A Spark összetevőit egyszerűen megértheti a Spark HDInsight-fürtökön való futtatásának megértésével.

A Spark-alkalmazások független folyamathalmazként futnak egy fürtön. A főprogram SparkContext objektuma (az illesztőprogram-program) koordinálja.

A SparkContext számos fürtkezelőhöz tud csatlakozni, amelyek erőforrásokat biztosítanak az alkalmazásokban. Ezek a fürtkezelők közé tartozik az Apache Mesos, az Apache Hadoop YARN vagy a Spark-fürtkezelő. A HDInsightban a Spark a YARN fürtkezelő segítségével fut. A csatlakoztatást követően a Spark beszerzi a fürt feldolgozó csomópontjainak végrehajtóit. E folyamatok számítások futtatását és adatok tárolását végzik az alkalmazás számára. Ezt követően a Spark elküldi az alkalmazás kódját a végrehajtóknak. A kódot a SparkContext objektum számára átadott JAR- vagy Python-fájlok határozzák meg. Végül a SparkContext objektum elküldi futtatásra a feladatokat a végrehajtóknak.

A SparkContext objektum futtatja a felhasználó fő funkcióját, és végrehajtja a különféle párhuzamos műveleteket a feldolgozó csomópontokon. Ezután a SparkContext objektum összegyűjti a műveletek eredményeit. A feldolgozó csomópontok adatokat olvasnak és írnak a Hadoop elosztott fájlrendszerből és azokbe. A feldolgozó csomópontok a memóriában lévő átalakított adatokat is gyorsítótárazzák rugalmas elosztott adatkészletekként (RDD-kként).

A SparkContext csatlakozik a Spark-főkiszolgálóhoz, és feladata, hogy az alkalmazásokat az egyes feladatok irányított gráfjára (DAG) konvertálja. A végrehajtási folyamaton belül a munkavégző csomópontokon végrehajtott feladatok. Minden alkalmazás saját végrehajtói folyamatokat kap. Amelyek a teljes alkalmazás során naprakészek maradnak, és több szálon futtatják a feladatokat.

Spark in HDInsight – Használati esetek

A HDInsight-alapú Spark-fürtök a következő főbb forgatókönyvek megvalósítását teszik lehetővé:

Interaktív adatelemzés és BI

A HDInsightban futó Apache Spark az Azure Blob Storage-ban, az Azure Data Lake Gen1-ben vagy az Azure Data Lake Storage Gen2-ben tárolja az adatokat. Az üzleti szakértők és a legfontosabb döntéshozók elemezhetik és készíthetnek jelentéseket az adatok alapján. A Microsoft Power BI használatával pedig interaktív jelentéseket készíthet az elemzett adatokból. Az elemzők a fürtbeli tárolón található strukturálatlan, illetve részben strukturált adatokból kiindulva, notebookok használatával sémát adhatnak meg, majd a Microsoft PowerBI használatával adatmodelleket építhetnek fel. A HDInsight-alapú Spark-fürtök számos külső BI-eszközt is támogatnak. Ilyen például a Tableau, amely megkönnyíti az adatelemzők, az üzleti szakértők és a legfontosabb döntéshozók számára.

Spark Machine Learning

Az Apache Sparkhoz tartozik az MLlib. Az MLlib egy Sparkra épülő gépi tanulási kódtár, amelyet a HDInsight-alapú Spark-fürtből használhat. A HDInsight-alapú Spark-fürt az Anacondát is tartalmazza, amely egy Python-disztribúció, amely különböző típusú csomagokat tartalmaz a gépi tanuláshoz. A Jupyter- és Zeppelin-notebookok beépített támogatásával gépi tanulási alkalmazásokat hozhat létre.

Spark-alapú streamelés és valós idejű adatelemzés

A HDInsight-alapú Spark széles körű támogatást nyújt a valós idejű elemzési megoldások kiépítéséhez. A Spark már rendelkezik összekötőkkel számos forrásból, például a Kafkából, a Flume-ból, a Twitterből, a ZeroMQ-ból vagy a TCP-szoftvercsatornákból származó adatok betöltéséhez. A Spark in HDInsight első osztályú támogatást nyújt az Azure Event Hubsból történő adatbetöltéshez. Az Event Hubs az Azure legnépszerűbb várólista-szolgáltatása. Az Event Hubs teljes körű támogatásával a HDInsight-alapú Spark-fürtök ideális platformot jelentenek a valós idejű elemzési folyamatok létrehozásához.

Következő lépések

Ebben az áttekintésben alapszintű ismereteket szerzett az Azure HDInsight-alapú Apache Sparkról. Az alábbi cikkekből többet is megtudhat a HDInsight-alapú Apache Sparkról, és létrehozhat egy HDInsight Spark-fürtöt, és további Spark-minta lekérdezéseket futtathat: