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.
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.
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.
- Spark mag. A következőket tartalmazza: Spark mag, Spark SQL, Spark streamelési API-k, GraphX és MLlib.
- Anaconda
- Apache Livy
- Jupyter Notebook
- Apache Zeppelin-jegyzetfüzet
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
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.
- Oktatóanyag: Épülethőmérséklet előrejelzése HVAC-adatok használatával
- Oktatóanyag: Élelmiszervizsgálati eredmények előrejelzése
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:
- Rövid útmutató: Apache Spark-fürt létrehozása a HDInsightban és interaktív lekérdezés futtatása a Jupyter használatával
- Oktatóanyag: Adatok betöltése és lekérdezések futtatása Apache Spark-feladaton a Jupyter használatával
- Oktatóanyag: Spark-adatok vizualizációja a Power BI használatával
- Oktatóanyag: Épülethőmérséklet előrejelzése HVAC-adatok használatával
- Spark-feladatok optimalizálása a teljesítményhez