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, lehetővé téve a teljes Spark-környezet testreszabását és használatát 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 Elemzési elemzések számára az Azure-ban.

  • Az Azure Databricksben futó Apache Spark Spark Spark-fürtökkel biztosít egy interaktív munkaterületet, 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 olvasson be, és áttörő megállapításokká alakítsa ő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 Spark-fürtöi 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 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őit és verzióit 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óriabeli számítástechnika sokkal gyorsabb, mint a lemezalapú alkalmazások, például a Hadoop, amelyek hadoop elosztott fájlrendszeren (HDFS) keresztül osztják 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 használatának első lépéseit a HDInsightban.
Egyszerű használat A HDInsight Spark-fürtöi közé tartoznak a Jupyter Notebooks és az Apache Zeppelin Notebooks. 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ürtöi 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: Az Apache Spark REST API használata távoli feladatok HDInsight Spark-fürtbe való elküldéséhez.
Az Azure Storage támogatása A HDInsight Spark-fürtöi elsődleges vagy további tárolóként is használhatják az Azure Data Lake Storage Gen1/Gen2-t. További információ a Data Lake Storage Gen1-ről: Azure Data Lake Storage Gen1. 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 adatelemző BI-eszközök számára, mint a Power BI.
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 található 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 az olyan BI-eszközökről való kapcsolódáshoz, mint a Microsoft Power BI.

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 úgynevezett 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ürtmenedzserek 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-mesteralakzathoz, és feladata, hogy az alkalmazásokat az egyes tevékenységek irányított gráfjaivá (DAG) konvertálja. A feldolgozó csomópontokon egy végrehajtói folyamaton belül végrehajtott feladatok. Minden alkalmazás saját végrehajtói folyamatokat kap. Amelyek a teljes alkalmazás során fenn 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

Az Apache Spark a HDInsightban 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 ezen 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 Spark-fürtöi 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 kulcsfontosságú döntéshozók számára.

Spark Machine Learning

Az Apache Spark az MLlib-et is tartalmaz. Az MLlib a Sparkra épülő gépi tanulási kódtár, amelyet a HDInsightban lévő Spark-fürtökből használhat. A HDInsight Spark-fürtje 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-jegyzetfüzetek beépített támogatásával pedig 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 az adatok betöltéséhez számos forrásból, például Kafka, Flume, Twitter, ZeroMQ vagy TCP-szoftvercsatornákból. A Spark in HDInsight első osztályú támogatást nyújt az adatok Azure Event Hubsból való betöltéséhez. 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 Spark-fürtöi 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 szerezhet az Apache Sparkról az Azure HDInsightban. Az alábbi cikkekből többet is megtudhat az Apache Sparkról a HDInsightban, és létrehozhat egy HDInsight Spark-fürtöt, és további Spark-minta lekérdezéseket futtathat: