Welcome to Our Website

HPE Developer Community Portal (Magyar)

Original post information:

"authorDisplayName": "Carol McDonald","publish": "2018-10-17T08:00:00.000Z","tags": "spark"

ebben a blogbejegyzésben bevezetőt adunk az Apache Spark és története, valamint felfedezni néhány olyan területet, ahol a különleges képességek mutatják a legtöbb ígéret. Megbeszéljük a kapcsolatot más kulcsfontosságú technológiákkal, és hasznos mutatókat nyújtunk.

with Spark 2.,0 és későbbi verziók, nagy fejlesztéseket hajtottak végre, hogy a Spark könnyebben programozható és gyorsabb legyen.

mi az Apache Spark?

A Spark egy általános célú elosztott adatfeldolgozó motor, amely széles körű körülmények között használható. A Spark core adatfeldolgozó motor tetején vannak könyvtárak az SQL-hez, gépi tanuláshoz, gráfszámításhoz és adatfeldolgozáshoz, amelyek egy alkalmazásban együtt használhatók. A Spark által támogatott programozási nyelvek a következők: Java, Python, Scala, and R., Az alkalmazásfejlesztők és az adattudósok beépítik a Spark-ot az alkalmazásaikba, hogy gyorsan lekérdezzék, elemezzék és átalakítsák az adatokat. A Sparkhoz leggyakrabban kapcsolódó feladatok közé tartozik az ETL és az SQL kötegelt feladatok nagy adatkészletekben, az érzékelők, az IoT vagy a pénzügyi rendszerek adatfolyamainak feldolgozása, valamint a gépi tanulási feladatok.

történelem

A Spark megértése érdekében segít megérteni annak történetét., A Spark előtt volt egy MapReduce, egy rugalmas elosztott feldolgozási keretrendszer, amely lehetővé tette a Google számára, hogy indexelje az interneten a felrobbanó tartalommennyiséget az árucikk-kiszolgálók nagy csoportjain.

volt 3 alapvető fogalmakat, hogy a Google stratégia:

  1. Terjeszteni adatok: amikor egy adat fájl feltöltött be a halmaz, ez oszlik részekre, úgynevezett adatok blokk, és között osztjuk el az adatokat, csomópontok, illetve másolt át a klaszter.,
  2. Terjeszteni számítás: a felhasználó adja meg a térkép funkció, hogy a folyamatok egy kulcs/érték pár, hogy létrehoz egy szett köztes kulcs/érték párok, valamint csökkenti a funkció, amely egyesíti az összes köztes értékek ugyanaz a köztes gombot. Programok írva ebben a funkcionális stílus automatikusan párhuzamosított, majd kivégezték egy nagy fürt áru gépek a következő módon:

    • A leképezési folyamat fut minden kijelölt adatok csomópont, működik, csak a blokk adatai elosztott fájlt.,
    • az eredmények A folyamatok feltérképezése küldött a kicsinyítőhöz egy folyamat az úgynevezett “shuffle pedig egyfajta”: kulcs/érték párok a mappers rendezése kulcs, particionált száma kicsinyítőhöz, majd küldött át a hálózat írt kulcs rendezett “sorozat fájlok” a szűkítő csomópontok.
    • a reduktor folyamat a hozzárendelt csomóponton fut, és csak az adatok részhalmazán (szekvenciafájlján) működik. A reduktor folyamat kimenete egy kimeneti fájlba van írva.,
  3. Tűri hibák: mindkét adatok számítása elviselni hibák azáltal, egy másik csomópont-adatokat, vagy a feldolgozás.

MapReduce word count execution example:

néhány iteratív algoritmus, mint például a PageRank, amelyet a Google a webhelyek rangsorolására használt a keresőmotor eredményeiben, több iteratív algoritmust igényel MapReduce munkahelyek együtt, ami sok olvasás és írás lemezre., Ha több MapReduce jobs vannak láncolva együtt, minden MapReduce job, az adatokat olvasni egy elosztott fájl blokk egy térkép folyamat, írt és olvasni egy SequenceFile között, majd írt egy kimeneti fájlt egy reduktor folyamat.

egy évvel azután, hogy a Google kiadott egy fehér könyvet, amelyben leírta a MapReduce keretrendszert (2004), Doug Cutting és Mike Cafarella létrehozta az Apache Hadoop™ – ot.,

az Apache Spark™ 2009-ben kezdte meg életét a Berkeley-i Kaliforniai Egyetem AMPLab projektjeként. A Spark 2013-ban az Apache Software Foundation inkubált projektje lett, 2014 elején pedig az Alapítvány egyik legmagasabb szintű projektje lett. Szikra jelenleg az egyik legaktívabb által irányított projektek az Alapítvány, valamint a közösség felnőtt körül a projekt magában foglalja mind a termékeny egyes közreműködők, jól finanszírozott vállalati támogatói, mint a Databricks, az IBM, valamint a Kínai Huawei.,

A Spark projekt célja az volt, hogy a MapReduce skálázható, elosztott, hibatűrő feldolgozási keretrendszerének előnyeit megőrizze, miközben hatékonyabbá és könnyebben használható. A Spark előnyei a MapReduce-val szemben a következők:

  • A Spark sokkal gyorsabban hajtja végre az adatok gyorsítótárazását a memóriában több párhuzamos művelet során, míg a MapReduce több olvasást és írást foglal magában lemezről.
  • A Spark többszálú feladatokat futtat a JVM folyamatokon belül, míg a MapReduce nehezebb JVM folyamatokként fut., Ez gyorsabb indítást, jobb párhuzamosságot, jobb CPU kihasználtságot biztosít.
  • A Spark gazdagabb funkcionális programozási modellt biztosít, mint a MapReduce.
  • A Spark különösen hasznos az elosztott adatok iteratív algoritmusokkal történő párhuzamos feldolgozásához.

hogyan fut egy Spark alkalmazás egy fürtön

az alábbi ábra egy klaszteren futó Spark alkalmazást mutat.,

  • A Spark alkalmazás független folyamatként fut, amelyet a SparkSession objektum koordinál a driver programban.
  • az erőforrás vagy a klaszterkezelő feladatokat rendel a dolgozókhoz, partíciónként egy feladatot.
  • egy feladat a munkaegységét a partícióban lévő adatkészletre alkalmazza, és új partíciós adatkészletet ad ki. Mivel az iteratív algoritmusok többször alkalmazzák a műveleteket az adatokra, az iterációk közötti gyorsítótárazási adatkészletek előnyösek.,
  • az eredmények visszakerülnek az illesztőprogram alkalmazásba, vagy lementhetők a lemezre.,anager tartalmazza Szikra
  • Apache Mesos – általános klaszter menedzser, aki szintén fut a Hadoop alkalmazások
  • Apache Hadoop FONAL – az erőforrás-kezelő a Hadoop 2
  • Kubernetes – egy nyílt forráskódú rendszer, automata telepítés, méretezés, gazdálkodás konténeres alkalmazások

Szikra is van egy helyi mód, ahol a vezető, végrehajtók, fuss, mint a szálak a számítógép helyett a klaszter, ami hasznos fejlesztése az alkalmazások egy személyi számítógép.,

mit csinál a Spark?

A Spark egyszerre több petabájt adatot képes kezelni, több ezer együttműködő fizikai vagy virtuális szerveren elosztva. Kiterjedt fejlesztői könyvtárakkal és API-kkal rendelkezik, valamint olyan nyelveket támogat, mint a Java, A Python, az R és a Scala; rugalmassága miatt számos felhasználási esethez jól alkalmazható., A Spark-ot gyakran használják olyan elosztott adattárolókban, mint a HPE Ezmeral Data Fabric, a Hadoop HDFS és az Amazon S3, olyan népszerű NoSQL adatbázisokkal, mint a HPE Ezmeral Data Fabric, az Apache HBase, az Apache Cassandra és a MongoDB, valamint olyan elosztott üzenetküldő áruházakkal, mint a HPE Ezmeral Data Fabric és az Apache Kafka.

A tipikus felhasználási esetek a következők:

adatfeldolgozás: a naplófájloktól az érzékelő adatokig az alkalmazásfejlesztőknek egyre inkább meg kell birkózniuk az adatok “patakjaival”., Ezek az adatok állandó adatfolyamba érkeznek, gyakran egyszerre több forrásból. Bár minden bizonnyal megvalósítható ezeket az adatfolyamokat lemezre tárolni és visszamenőlegesen elemezni, néha ésszerű vagy fontos lehet az adatok feldolgozása és kezelése, amikor megérkezik. A pénzügyi tranzakciókhoz kapcsolódó adatfolyamok például valós időben feldolgozhatók a potenciálisan csalárd tranzakciók azonosítása és elutasítása érdekében.

Gépi tanulás: az adatmennyiségek növekedésével a gépi tanulási megközelítések megvalósíthatóbbá és egyre pontosabbá válnak., A szoftver képes arra, hogy a jól ismert adathalmazokon belül azonosítsa és végrehajtsa a kiváltó tényezőket, mielőtt ugyanazokat a megoldásokat alkalmazná az új és ismeretlen adatokra. A Spark azon képessége, hogy adatokat tároljon a memóriában, és gyorsan ismétlődő lekérdezéseket hajtson végre, jó választás a gépi tanulási algoritmusok képzéséhez. A nagyjából hasonló lekérdezések futtatása újra és újra, méretarányosan jelentősen csökkenti a lehetséges megoldások egy sorához szükséges időt a leghatékonyabb algoritmusok megtalálása érdekében.,

Interactive analytics: ahelyett, hogy előre definiált lekérdezéseket futtatna az értékesítési vagy gyártósor termelékenységének vagy készletárainak statikus műszerfalainak létrehozására, az üzleti elemzők és az adatok tudósai kérdés feltevésével, az eredmény megtekintésével, majd kissé megváltoztatva vagy mélyebbre fúrva az eredményeket. Ez az interaktív lekérdezési folyamat olyan rendszereket igényel, mint a Spark, amelyek képesek gyorsan reagálni és alkalmazkodni.,

adatintegráció: a különböző rendszerek által egy vállalkozásban előállított adatok ritkán tiszták vagy konzisztensek ahhoz, hogy egyszerűen és könnyen kombinálhatók legyenek a jelentéshez vagy elemzéshez. Extract, transform, illetve terhelés (ETL) folyamatok gyakran le az adatokat, a különböző rendszerek, tiszta, szabványosítása, majd töltse be a külön rendszer elemzésre. A Spark-ot (és Hadoop-ot) egyre inkább arra használják, hogy csökkentsék az ETL-folyamathoz szükséges költségeket és időt.

ki használja a Spark-ot?,

a technológiai gyártók széles köre gyorsan támogatta a Spark-ot, felismerve a lehetőséget, hogy meglévő big data termékeiket olyan területekre terjesszék, ahol a Spark valós értéket nyújt, például interaktív lekérdezés és gépi tanulás. Az olyan ismert cégek, mint az IBM és a Huawei, jelentős összegeket fektettek be a technológiába, és egyre több startup épít olyan vállalkozásokat, amelyek részben vagy egészben a Sparktól függenek., Például 2013-ban a Berkeley csapat létrehozásáért felelős Spark megalapította Databricks, amely a házigazdája end-to-end adatplatform powered by Spark. A cég jól finanszírozott, 2013-ban, 2014-ben, 2016-ban és 2017-ben négy forduló alatt 247 millió dollárt kapott, és a Databricks alkalmazottai továbbra is kiemelkedő szerepet játszanak az Apache Spark projekt nyílt forráskódjának fejlesztésében és kiterjesztésében.,

A főbb Hadoop gyártók, köztük a MapR, a Cloudera és a Hortonworks, mind a FONALALAPÚ Spark támogatására költöztek meglévő termékeik mellett, és minden eladó azon dolgozik, hogy hozzáadott értéket teremtsen ügyfelei számára. Máshol, IBM, Huawei, mások pedig minden jelentős beruházásokat eszközölt Apache Szikra, beépítjük saját termékek, valamint hozzájáruló fejlesztések, valamint fájlokat vissza, hogy az Apache projekt., Web – alapú vállalatok, mint a kínai kereső Baidu, e-kereskedelmi művelet Taobao, és a szociális hálózati cég Tencent, minden fut Spark – alapú műveletek skálán, a Tencent 800 millió aktív felhasználó állítólag generáló több mint 700 TB adat naponta feldolgozásra egy klaszter több mint 8000 számítási csomópontok.

ezeken a webalapú óriásokon kívül a Novartis gyógyszergyártó cég a Spark-tól függ, hogy csökkentse az adatok modellezéséhez szükséges időt a kutatók kezébe, miközben biztosítja az etikai és szerződéses biztosítékok fenntartását.,

mi különbözteti meg a szikrát?

A Spark kiválasztásának számos oka van, de a következő három kulcs:

egyszerűség: a Spark képességei gazdag API-kon keresztül érhetők el, amelyeket kifejezetten az adatok gyors és könnyű kölcsönhatására terveztek. Ezek az API-k jól dokumentált és strukturált oly módon, hogy egyszerűvé teszi az adatok a tudósok és az alkalmazásfejlesztők, hogy gyorsan tegye Spark dolgozni.

sebesség: a Spark a sebességre lett tervezve, mind a memóriában, mind a lemezen működik., A 2014-es Daytona GraySort benchmarking challenge (https://spark.apache.org/news/spark-wins-daytona-gray-sort-100tb-benchmark.html A kihívás egy statikus adathalmaz feldolgozása; a Databricks csapata mindössze 23 perc alatt képes volt 100 terabájt szilárdtest-meghajtókon tárolt adatot feldolgozni, az előző győztes pedig 72 percet vett igénybe Hadoop és egy másik klaszter konfiguráció használatával. A Spark még jobban teljesíthet, ha támogatja a memóriában tárolt adatok interaktív lekérdezését., Ilyen helyzetekben vannak olyan állítások, hogy a Spark 100-szor gyorsabb lehet, mint a Hadoop MapReduce.

támogatás: a Spark számos programozási nyelvet támogat, beleértve a Java, Python, R és Scala nyelveket. Spark támogatja a szoros integráció számos vezető tárolási megoldások a Hadoop ökoszisztéma és azon túl, beleértve a HPE Ezmeral Data Fabric (fájlrendszer, adatbázis, és event store), Apache Hadoop (HDFS), Apache HBase, és Apache Cassandra. Emellett az Apache Spark közösség nagy, aktív és nemzetközi., Egyre több kereskedelmi szolgáltató, köztük a Databricks, az IBM és az összes fő Hadoop-gyártó nyújt átfogó támogatást a Spark-alapú megoldásokhoz.

az Adatvezetékek teljesítménye

A Spark erejének nagy része abban rejlik, hogy képes nagyon különböző technikákat és folyamatokat egyesíteni egyetlen, koherens egészbe. A Sparkon kívül az adatok kiválasztásának, az adatok különböző módon történő átalakításának, valamint a transzformált eredmények elemzésének diszkrét feladataihoz könnyen szükség lehet egy sor különálló feldolgozási keretre, például az Apache Oozie-ra., A Spark viszont lehetőséget kínál arra, hogy ezeket összekapcsolják, átlépve a kötegelt, streaming és interaktív munkafolyamatok közötti határokat oly módon, hogy a felhasználó termelékenyebb legyen.

A Spark jobs több műveletet hajt végre egymás után, a memóriában, és csak akkor ömlik a lemezre, ha a memória korlátozásai megkövetelik. A Spark egyszerűsíti ezen eltérő folyamatok kezelését, integrált egészet kínálva-egy adatvezetéket, amely könnyebben konfigurálható, könnyebben futtatható és könnyebben karbantartható., Az olyan Használati esetekben, mint az ETL, ezek a csővezetékek rendkívül gazdagok és összetettekké válhatnak, sok bemenetet és a feldolgozási lépések széles skáláját egyesítve egy egységes egészbe, amely következetesen biztosítja a kívánt eredményt.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük