Apache Spark az Azure Synapse Analyticsben

Az Apache Spark egy párhuzamos feldolgozást végző keretrendszer, amely támogatja a memóriabeli feldolgozást a big data-elemző alkalmazások teljesítményének növelése érdekében. Az Azure Synapse Analyticsben üzemelő Apache Spark az Apache Spark egyik felhőbeli megvalósítása a Microsofttól. Az Azure Synapse segítségével leegyszerűsíthető a kiszolgáló nélküli Apache Spark-készletek létrehozása és konfigurálása az Azure-ban. Az Azure Storage és a 2. generációs Azure Data Lake Storage kompatibilis az Azure Synapse Spark-készleteivel. Így a Spark-készleteket az Azure-ban tárolt adatok feldolgozására használhatja.

Az ábrán a Spark SQL, a Spark MLib és a GraphX a Spark core motorhoz kapcsolódik, egy YARN-réteg felett a tárolási szolgáltatások felett.

Mi az az Apache Spark?

Az Apache Spark primitíveket biztosít a memóriabeli 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ában történő feldolgozás sokkal gyorsabb, mint a lemezalapú alkalmazások. A Spark több programozási nyelvvel is integrálható, így olyan elosztott adatkészleteket kezelhet, mint a helyi gyűjtemények. Nem kell mindent térképként rendszerezni és csökkenteni a műveletek számát.

Az ábrán a hagyományos MapReduce látható, lemezalapú alkalmazásokkal és Sparkkal, gyorsítótár-alapú műveletekkel.

A Spark-készletek Azure Synapse teljes körűen felügyelt Spark-szolgáltatást kínálnak. A Spark-készlet Azure Synapse Analyticsben való létrehozásának előnyei itt láthatók.

Szolgáltatás Leírás
Sebesség és hatékonyság A Spark-példányok körülbelül 2 perc alatt indulnak el kevesebb, mint 60 csomópont esetén, és körülbelül 5 perc alatt több mint 60 csomópont esetén. A példány alapértelmezés szerint 5 perccel az utolsó feladat futtatása után leáll, hacsak egy jegyzetfüzet-kapcsolat nem tartja életben.
Könnyű létrehozás Percek alatt létrehozhat egy új Spark-készletet Azure Synapse a Azure Portal, Azure PowerShell vagy a Synapse Analytics .NET SDK használatával. Lásd: Ismerkedés a Spark-készletekkel a Azure Synapse Analyticsben.
Egyszerű használat A Synapse Analytics tartalmaz egy nteractból származtatott egyéni jegyzetfüzetet. Ezeket a notebookokat interaktív adatfeldolgozásra és -vizualizációra használhatja.
REST API-k A Spark a Azure Synapse Analyticsben tartalmazza az Apache Livyt, egy REST API-alapú Spark-feladatkiszolgálót a feladatok távoli elküldéséhez és monitorozásához.
A 2. generációs Azure Data Lake Storage támogatása A Spark-készletek Azure Synapse használhatják a 2. generációs Azure Data Lake Storage és a BLOB-tárolót. A Data Lake Storage kapcsolatos további információkért lásd: A Azure Data Lake Storage áttekintése.
Integráció külső integrált fejlesztői környezetekkel (IDE) Azure Synapse biztosít egy IDE beépülő modult a JetBrains IntelliJ IDEA-hoz, amely hasznos az alkalmazások Spark-készletbe való létrehozásához és elküldéséhez.
Előre betöltött Anaconda-kódtárak A Spark-készletek Azure Synapse előre telepített Anaconda-kódtárakat is tartalmazhatnak. Az Anaconda közel 200 kódtárat biztosít gépi tanuláshoz, adatelemzéshez, vizualizációhoz és más technológiákhoz.
Méretezhetőség Az Apache Spark Azure Synapse-készletekben engedélyezve lehet az automatikus skálázás, így a készletek igény szerint csomópontok hozzáadásával vagy eltávolításával méretezhetők. A Spark-készletek emellett adatvesztés nélkül leállíthatók, mivel minden adatot az Azure Storage vagy a Data Lake Storage tárol.

A Spark-készletek Azure Synapse a következő összetevőket tartalmazzák, amelyek alapértelmezés szerint elérhetők a készleteken:

Spark-készlet architektúrája

A Spark-alkalmazások független folyamatkészletként futnak egy készleten, amelyet a SparkContext fő program objektuma, az úgynevezett illesztőprogram-program koordinál.

A SparkContext képes csatlakozni a fürtkezelőhöz, amely erőforrásokat foglal le az alkalmazások között. A fürtkezelő az Apache Hadoop YARN. A csatlakozás után a Spark végrehajtókat szerez be a készlet csomópontjaihoz, amelyek számítások futtatására és az alkalmazás adatainak tárolására szolgáló folyamatok. Ezután elküldi az alkalmazás kódját, amelyet JAR- vagy Python-fájlok határoznak meg, amelyeket átadnak SparkContexta végrehajtóknak. SparkContext Végül feladatokat küld a végrehajtóknak a futtatáshoz.

A SparkContext futtatja a felhasználó fő függvényét, és végrehajtja a különböző párhuzamos műveleteket a csomópontokon. Ezután a SparkContext összegyűjti a műveletek eredményeit. A csomópontok adatokat olvasnak és írnak a fájlrendszerből és a fájlrendszerbe. A csomópontok rugalmas elosztott adathalmazként (RDD-kként) gyorsítótárazják a memóriában lévő átalakított adatokat.

A SparkContext csatlakozik a Spark-készlethez, és az alkalmazás irányított aciklikus gráfmá (DAG) való konvertálásáért felelős. A gráf egyes feladatokból áll, amelyek egy végrehajtói folyamaton belül futnak a csomópontokon. Minden alkalmazás saját végrehajtófolyamatokat kap, amelyek a teljes alkalmazás alatt működnek, és több szálon futtatják a feladatokat.

Apache Spark a Azure Synapse Analytics használati eseteiben

Az Azure Synapse Analytics Spark-készletei a következő fő forgatókönyveket teszik lehetővé:

  • Adatfeldolgozás/Adat-előkészítés

Az Apache Spark számos olyan nyelvi funkciót tartalmaz, amelyek támogatják a nagy mennyiségű adat előkészítését és feldolgozását, így azok értékesebbé tehetők, majd más szolgáltatások felhasználhatják az Azure Synapse Analyticsben. Ez több nyelven (C#, Scala, PySpark, Spark SQL) és a megadott kódtárakon keresztül engedélyezhető a feldolgozáshoz és a csatlakozáshoz.

  • Machine Learning

Az Apache Spark a Sparkra épülő MLlib gépi tanulási kódtárral rendelkezik, amelyet a Azure Synapse Analytics Spark-készletéből használhat. Az Azure Synapse Analytics Spark-készletei közé tartozik az Anaconda is, amely egy Python-disztribúció, amely számos adatelemzési csomagot tartalmaz, beleértve a gépi tanulást is. A jegyzetfüzetek beépített támogatásával ötvözve ez egy gépi tanulási alkalmazások létrehozásához ideális környezetet teremt.

  • Streamelési adatok

A Synapse Spark mindaddig támogatja a Spark strukturált streamelését, amíg Azure Synapse Spark-futtatókörnyezeti kiadás támogatott verzióját futtatja. Minden feladat hét napig használható. Ez a kötegelt és streamelési feladatokra is vonatkozik, és általában az ügyfelek automatizálják az újraindítási folyamatot Azure Functions használatával.

Hol kezdjem?

Az alábbi cikkekből többet is megtudhat az Apache Sparkról az Azure Synapse Analyticsben:

Megjegyzés

Néhány hivatalos Apache Spark-dokumentáció a Spark-konzol használatára támaszkodik, amely nem érhető el Azure Synapse Sparkon. Használja inkább a jegyzetfüzetet vagy az IntelliJ-felületet.

Következő lépések

Ez az áttekintés alapvető ismereteket nyújtott az Apache Sparkról az Azure Synapse Analyticsben. Folytassa a következő cikkel, amelyből megtudhatja, hogyan hozhat létre Spark-készletet Azure Synapse Analyticsben: