Spark streaming - Átfogó útmutató a Spark Streaming-hez

Tartalomjegyzék:

Anonim

Bevezetés a Spark Streaming-be

Az Apache Spark streaming az Apache Spark egyik alapvető eleme, amely az adatok valósidejű feldolgozása, amelyet valós időben továbbítanak az adatokkal, ellentétben a hagyományos Hadoop kötegelt jobokkal, amelyeket kötegelt jobok futtatása helyett használtak. az adatok valós idejű streamingje. Kihasználja a Spark core gyors ütemezési képességét a gyors szikra-streaming elemzés elvégzéséhez, amely lényegében magában foglalja az adatok mikro- és mini-tételek formájában történő beolvasását az RDD-transzformációk végrehajtására az adott adatkészletre egy adott ablak-időszakban. Az Apache Spark streamingnek sok felsõ áramot kell felhasználnia, ezáltal befejezve a folyamatot, például az Apache Kafka, Flume, RabbitMQ, ZeroMQ, Kinesis, TCP / IP aljzatok, Twitter stb. A Spark 2-ben rendelkezésre álló strukturált adatkészletek. Az x + verziókat használják a strukturált streaminghez.

Hogyan működik a Spark Streaming?

  • A Spark Streaming esetében az adatfolyamokat rögzített kötegekre osztják, amelyeket DStreams néven is hívnak, amely belsőleg az RDD-k rögzített típusú szekvenciája. Az RDD-k ezért a Spark API felhasználásával kerülnek feldolgozásra, és így a visszatérített eredmények tételekben vannak. A diszkretizált adatfolyam-műveletek, amelyek állapotalapúak vagy állapot nélküli átalakulások, szintén tartalmaznak kimeneti műveleteket, bemenő DStream műveleteket és a vevőket. Ezek a Dstreams az absztrakció alapszintje, amelyet az Apache Spark streaming biztosít, amely a Spark RDD folyamatos streamje.
  • Ezenkívül biztosítja a hibatűrés képességét az RDD-khez hasonló Dstreams esetén is, mindaddig, amíg rendelkezésre állnak az adatok másolatai, és ezért bármilyen állapotot újra kiszámíthatunk vagy visszaállíthatunk az eredeti állapotba, a Spark vonal gráfjának felhasználásával a RDD-k halmaza. Itt gondolkodni kell az a tény, hogy a Dstreams felhasználják az alapvető műveletek lefordítását a mögöttes RDD-sorozatra. Ezeket az RDD alapú transzformációkat a Spark Engine végzi és számítja ki. A Dstream műveletek célja az alapszintű részletek biztosítása és a fejlesztő magas szintű API-jának biztosítása a fejlesztési célokra.

A szikra streaming előnyei

Különféle okok miatt a Spark streaming használata további előnyt jelent. Néhányat itt az utóbbi üzenetünkben fogunk megvitatni.

  1. A patak, a kötegelt és az interaktív munkaterhelések egyesítése: Az adatkészletek könnyen integrálhatók és felhasználhatók bármelyik olyan munkaterheléshez, amely soha nem volt könnyű feladat a folyamatos rendszerekben, ezért ez egy motorként szolgál.
  2. Magas szintű elemzés, gépi tanulás és SQL lekérdezések: Ha összetett munkaterhelésen dolgozik, mindig folyamatos tanulást és a frissített adatmodelleket igényel. A Spark ezen összetevőjének legjobb része az, hogy könnyen integrálható az MLib-hez vagy bármely más dedikált gépi tanulási könyvtárhoz.
  3. Gyors hiba és helyreállítás a straggler számára: A hiba helyreállítása és a hibatűrés az egyik alapvető jellemző, amely a Spark streamingben elérhető.
  4. Terheléselosztás: A szűk keresztmetszeteket a rendszerek között a folyamatban lévő egyenetlen terhelések és egyensúlyok okozzák, ezért nagyon szükséges a rakomány egyenletes kiegyensúlyozása, amelyet a Spark ezen alkotóeleme automatikusan kezel.
  5. Teljesítmény: A memóriában alkalmazott számítási módszernek köszönhetően, amely inkább a belső memóriát használja, mint a külső merevlemezt, a Spark teljesítménye nagyon jó és hatékony, összehasonlítva más Hadoop rendszerekkel.

Spark streaming műveletek

1) Átalakítási műveletek Spark streaming segítségével: Az adatok ugyanúgy kerülnek átalakításra az RDD-k készletéből is, itt az adatok is átalakulnak a DStreamsből, és számos transzformációt kínálnak, amelyek a normál Spark RDD-ken elérhetők. Néhány ezek közül:

  • Térkép (): Ez arra szolgál, hogy visszatérjen a Dstream új formája, amikor minden elem áthalad egy függvényen.
    Például: data.map (line => (line, line.count))
  • flatMap (): Ez hasonlít a térképhez, de minden elem 0 vagy annál több leképezett egységre van leképezve.
    Példa: data.flatMap (sorok => sorok.split (”“))
  • filter (): Ez egy új Dstream készlet visszaadására szolgál, a felhasználásunkhoz szűrt rekordok visszaadásakor.
    Példa, szűrő (érték => érték == „szikra”)
  • Union (): Új Dstream adatkészlet visszaadására szolgál, amely a bemeneti Dstreams és más Dstreams adatokból áll össze.
    Példa: Dstream1.union (Dstream2) .union (Dstream3)

2) Frissítse az állapotot kulcsművelet alapján

Ez lehetővé teszi önkényes állapot fenntartását akkor is, ha ezt folyamatosan frissíti egy új információval. Meg kell határoznia az önkényes típusú állapotot, és meg kell határoznia az állapotfrissítési funkciót, amely azt jelenti, hogy az állapotot az előző állapot alapján meg kell határozni, és új értékeket kell használni egy bemeneti adatfolyamból. Minden kötegelt rendszerben a szikra ugyanazt az állapotfrissítési funkciót fogja alkalmazni az összes elterjedt kulcsra.

Példa:

def frissítési funkció (NV, RC):

ha RC nincs:

RC = 0

visszatérő összeg (NV, RC) #Nv új értékek, és az RC számít

Következtetés

A szikra streaming az egyik leghatékonyabb rendszer a valódi streaming típusú csővezeték felépítéséhez, és így arra szolgál, hogy kiküszöbölje a hagyományos rendszerek és módszerek alkalmazásával felmerülő összes problémát. Ezért minden olyan fejlesztő, aki megtanulja elindulni a szikra streaming komponensébe, a keret legszorosabb pontján lép fel, amelyet felhasználhat az összes fejlesztési igény kielégítésére. Ezért nyugodtan mondhatjuk, hogy felhasználása növeli a termelékenységet és a teljesítményt azokban a projektekben és vállalatokban, amelyek megpróbálják vagy várják a nagy adatökoszisztéma kihasználását. Remélem tetszett a cikkünk. Kísérje figyelemmel a hasonló cikkeket is.

Ajánlott cikkek

Ez egy útmutató a Spark Streaming-hez. Itt tárgyaljuk a Spark Streaming bevezetését, hogyan működik az előnyeivel és példáival. Megnézheti más kapcsolódó cikkeinket -

  1. Mi az a Hadoop streaming?
  2. Spark parancsok
  3. Útmutató a Spark telepítéséhez
  4. Különbség a Hadoop és a Spark között
  5. Spark DataFrame | Előnyök
  6. A szikra 6 legfontosabb alkotóeleme