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.

Diagram shows Spark SQL, Spark MLib, and GraphX linked to the Spark core engine, above a YARN layer over storage services.

Mi az Az Apache Spark?

Az Apache Spark primitíveket biztosít 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ában történő feldolgozás sokkal gyorsabb, mint a lemezalapú alkalmazások. A Spark több programozási nyelvvel is integrálható, így az elosztott adatkészleteket, például a helyi gyűjteményeket is kezelheti. Nem kell mindent térképként rendszerezni és csökkenteni a műveletek számát. További információt az Apache Spark for Synapse videóból tudhat meg.

Diagram shows Traditional MapReduce, with disk-based apps and Spark, with cache-based operations.

Az Azure Synapse Spark-készletei 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 található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 kezdődnek 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, kivéve, ha egy jegyzetfüzet-kapcsolat tartja életben.
Könnyű létrehozás Az Azure Synapse-ban percek alatt létrehozhat egy új Spark-készletet az Azure Portal, az Azure PowerShell vagy a Synapse Analytics .NET SDK használatával. Tekintse meg a Spark-készletek használatának első lépéseit az Azure Synapse Analyticsben.
Egyszerű használat A Synapse Analytics egy nteractból származó egyéni jegyzetfüzetet tartalmaz. Ezeket a notebookokat interaktív adatfeldolgozásra és -vizualizációra használhatja.
REST API-k Az Azure Synapse Analyticsben a Spark tartalmazza az Apache Livyt, egy REST API-alapú Spark-feladatkiszolgálót, amely távolról küldi el és figyeli a feladatokat.
Az Azure Data Lake Storage 2. generációjának támogatása Az Azure Synapse Spark-készletei használhatják a 2. generációs Azure Data Lake Storage-t és a BLOB Storage-t. További információ a Data Lake Storage-ról: Az Azure Data Lake Storage áttekintése.
Integráció külső integrált fejlesztői környezetekkel (IDE) Az Azure Synapse egy IDE beépülő modult biztosít a JetBrains IntelliJ IDEA-hoz , amely hasznos alkalmazások létrehozásához és Spark-készletbe való beküldéséhez.
Előre betöltött Anaconda-kódtárak Az Azure Synapse Spark-készleteiben előre telepített Anaconda-kódtárak találhatók. Az Anaconda közel 200 kódtárat biztosít gépi tanuláshoz, adatelemzéshez, vizualizációhoz és egyéb technológiákhoz.
Méretezhetőség Az Azure Synapse-készletekben az Apache Spark automatikus méretezést engedélyezhet, így a készletek szükség 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.

Az Azure Synapse Spark-készletei alapértelmezés szerint a következő összetevőket tartalmazzák a készleteken:

Spark-készlet architektúrája

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

A SparkContext fürtkezelőhöz csatlakozhat, amely erőforrásokat foglal le az alkalmazások között. A fürtkezelő az Apache Hadoop YARN. Miután csatlakozott, a Spark a készlet csomópontjaihoz szerzi be a végrehajtókat, amelyek olyan folyamatok, amelyek számításokat futtatnak, és adatokat tárolnak az alkalmazás számára. Ezután elküldi a jar- vagy Python-fájlok SparkContextáltal definiált alkalmazáskódot a végrehajtóknak. SparkContext Végül feladatokat küld a végrehajtóknak a futtatáshoz.

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

A SparkContext Spark-készlethez csatlakozik, és az alkalmazás irányított aciklikus gráfmá (DAG) való konvertálásáért felelős. A gráf olyan egyedi feladatokból áll, amelyek a csomópontokon futó végrehajtói folyamaton belül futnak. Minden alkalmazás saját végrehajtói folyamatokat kap, amelyek az egész alkalmazás során fenn maradnak, és több szálon futtatják a feladatokat.

Apache Spark az Azure Synapse Analyticsben használati esetek

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

  • adatmérnök-/adat-előkészítés

Az Apache Spark számos nyelvi funkciót tartalmaz a nagy mennyiségű adat előkészítésének és feldolgozásának támogatására, hogy azok értékesebbé tehetők, majd az Azure Synapse Analytics más szolgáltatásai is felhasználhassák. Ez több nyelven (C#, Scala, PySpark, Spark SQL) és a megadott kódtárakon keresztül engedélyezve van a feldolgozáshoz és a kapcsolódáshoz.

  • Machine Learning

Az Apache Spark a Sparkra épülő MLlib gépi tanulási kódtárat tartalmaz, amelyet az 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 csomaggal rendelkezik, 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 az Azure Synapse Spark futtatókörnyezeti kiadás támogatott verzióját futtatja. Minden feladat hét napig támogatott. Ez a kötegelt és streamelési feladatokra is vonatkozik, és általában az ügyfelek automatizálják az újraindítási folyamatot az Azure Functions használatával.

Hol kezdjem?

A következő cikkekben további információt talál az Apache Sparkról az Azure Synapse Analyticsben:

Feljegyzés

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

Következő lépések

Ez az áttekintés az Azure Synapse Analyticsben az Apache Spark alapszintű megértését biztosította. A következő cikkből megtudhatja, hogyan hozhat létre Spark-készletet az Azure Synapse Analyticsben: