Úvod do programu Spark Streaming
Apache Spark Streaming je jednou zo základných podstatných súčastí Apache Spark, čo je spracovanie dátového programu v reálnom čase, ktorý sa používa na streamovanie údajov v reálnom čase, na rozdiel od tradičných dávkových úloh Hadoop, ktoré sa namiesto toho používali na vykonávanie dávkových úloh. streamovania údajov v reálnom čase. Využíva schopnosť rýchleho plánovania jadra Spark jadra na vykonávanie rýchlych analýz prúdenia iskier, ktoré v podstate zahŕňajú prijímanie údajov vo forme mikro a malých dávok na vykonanie transformácií RDD na týchto súboroch údajov v určitom období okna. Streamovanie Apache Spark je určené na spotrebu z mnohých prúdov, čím sa dokončí potrubie, ako napríklad Apache Kafka, Flume, RabbitMQ, ZeroMQ, Kinesis, sokety TCP / IP, Twitter atď. Štruktúrované súbory údajov, ktoré sú k dispozícii v aplikácii Spark 2. Verzie x + sa používajú na štruktúrované streamovanie.
Ako funguje Spark Streaming?
- V prípade Spark Streamingu sa dátové toky delia na pevné šarže, ktoré sa tiež nazývajú DStreams, čo je interne sekvencia pevného typu počtu RDD. RDD sa preto spracúvajú použitím rozhrania Spark API a vrátené výsledky sú preto v dávkach. Disketizované tokové operácie, ktoré sú buď stavovými alebo bezstavovými transformáciami, tiež pozostávajú z nich, výstupných operácií, operácií vstupu DStream a tiež prijímačov. Tieto prúdy sú základnou úrovňou abstrakcie, ktorú poskytuje prúd Apache Spark, ktorý je nepretržitým prúdom Spark RDD.
- Poskytuje tiež možnosti odolnosti voči chybám, ktoré sa majú použiť pre toky Dstreams, celkom podobné RDD, pokiaľ je k dispozícii kópia údajov, a preto je možné akýkoľvek stav prepočítať alebo vrátiť späť do pôvodného stavu pomocou grafu rodokmeňa Spark cez sada RDD. Tu je potrebné sa zamyslieť nad tým, že toky sa používajú na preklad základných operácií na ich základných súboroch RDD. Tieto transformácie založené na RDD sa vykonávajú a vypočítavajú pomocou Spark Engine. Operácie Dstream sa používajú na poskytnutie základnej úrovne podrobností a na poskytnutie vývojovej úrovne vysokej úrovne API na účely vývoja.
Výhody Spark Streaming
Existujú rôzne dôvody, prečo je použitie technológie Spark Stream výhodou. Niektoré z nich budeme diskutovať v našom príspevku tu.
- Zjednotenie pracovného toku Stream, Batch a interaktívne: Dátové súbory sa dajú ľahko integrovať a používať s akýmkoľvek pracovným zaťažením, ktoré nebolo nikdy ľahké vykonať v nepretržitých systémoch, a preto slúži ako jeden motor.
- Pokročilá úroveň analytiky spolu so strojovým učením a dotazmi SQL: Keď pracujete na zložitých pracovných za aženiach, vždy si vyžaduje použitie neustáleho učenia sa a tiež s aktualizovanými dátovými modelmi. Najlepšie na tomto komponente Spark je to, že sa ľahko integruje s MLibom alebo inou vyhradenou knižnicou strojového učenia.
- Rýchle zlyhanie a tiež zotavenie v prípade výpadku: Obnova po zlyhaní a odolnosť voči chybám sú jednou zo základných funkcií, ktoré sú k dispozícii v službe Spark Stream.
- Vyrovnávanie záťaže: Problémy medzi systémami sa často vyskytujú v dôsledku nerovnomerného zaťaženia a vyváženia, ktoré sa vykonáva, a preto je nevyhnutné rovnomerne vyvažovať záťaž, ktorú automaticky rieši táto súčasť programu Spark.
- Výkon: Vďaka svojej výpočtovej technike v pamäti, ktorá využíva internú pamäť viac ako externý pevný disk, je výkon Spark v porovnaní s inými systémami Hadoop veľmi dobrý a efektívny.
Spark Streaming Operations
1) Transformačné operácie na Spark Stream : Rovnakým spôsobom sa dáta transformujú zo sady RDD aj tu sa transformujú údaje z DStreams a ponúka veľa transformácií, ktoré sú k dispozícii na bežných Spark RDD. Niektoré z nich sú:
- Mapa (): Používa sa na vrátenie novej formy Dstream, keď každý prvok prechádza funkciou.
Napríklad údaj.map (line => (line, line.count)) - flatMap (): Táto je podobná mape, ale každá položka je mapovaná na 0 alebo viac mapovaných jednotiek.
Príklad data.flatMap (lines => lines.split (”“)) - filter (): Tento sa používa na vrátenie novej sady Dstream vrátením záznamov, ktoré sú filtrované pre naše použitie.
Príklad filtra (hodnota => hodnota == ”iskra”) - Union (): Používa sa na vrátenie nového súboru dátového toku, ktorý pozostáva z údajov kombinovaných zo vstupných tokov údajov a iných tokov údajov.
Príklad, Dstream1.union (Dstream2) .union (Dstream3)
2) Aktualizujte stav pomocou kľúčovej operácie
To vám umožní zachovať svojvoľný stav, aj keď ho neustále aktualizuje novou informáciou. Mali by ste definovať stav, ktorý môže byť ľubovoľného typu, a definovať funkciu aktualizácie stavu, čo znamená špecifikovanie stavu pomocou predchádzajúceho stavu a tiež využitie nových hodnôt zo vstupného toku. V každej dávkovej sústave použije iskra rovnakú funkciu aktualizácie stavu pre všetky prevládajúce kľúče.
Príklad:
funkcia def. aktualizácie (NV, RC):
ak RC nie je:
RC = 0
return sum (NV, RC) #Nv sú nové hodnoty a RC beží počet
záver
Streamovanie iskier je jedným z najúčinnejších systémov na vybudovanie potrubia so skutočným tokom údajov, a preto sa používa na prekonanie všetkých problémov, s ktorými sa stretávajú tradičné systémy a metódy. Preto všetci vývojári, ktorí sa učia preniknúť do komponentu streamovania iskier, šliapli na najsprávnejší jediný bod rámca, ktorý možno použiť na splnenie všetkých vývojových potrieb. Preto môžeme s istotou povedať, že jeho využitie zvyšuje produktivitu a výkonnosť v projektoch a spoločnostiach, ktoré sa snažia využiť ekosystém veľkých dát alebo sa naň tešia. Dúfam, že sa vám náš článok páčil. Sledujte ďalšie články, ako sú tieto.
Odporúčané články
Toto je sprievodca Spark Streamingom. Tu diskutujeme úvod do programu Spark Streaming, ako to funguje spolu s výhodami a príkladmi. Môžete si tiež prečítať naše ďalšie súvisiace články -
- Čo je to Hadoop Streaming?
- Príkazy na iskry
- Návody, ako nainštalovať iskru
- Rozdiel medzi Hadoopom a Sparkom
- Spark DataFrame | výhody
- Top 6 komponentov iskry