Streaming - Opsežni vodič za iskrenje struje

Sadržaj:

Anonim

Uvod u iskrenje

Apache Spark Streaming jedna je od glavnih bitnih komponenti Apache Spark koja je obrada podataka u stvarnom vremenu koja se koristi za strujanje podataka u stvarnom vremenu, za razliku od tradicionalnih Hadoop paketa poslova koji su korišteni za pokretanje paketnih poslova umjesto streaminga podataka u stvarnom vremenu. Koristi mogućnost brzog planiranja jezgre Spark kako bi se izvršila analitika brzog iskrenja koja u osnovi uključuje unos podataka u obliku mikro i mini serija za izvođenje RDD transformacija na tim skupovima podataka u određenom vremenskom razdoblju. Apache Spark streaming treba potrošiti iz mnogih uzvodnih voda i na taj način dovršiti cjevovod poput onih kao što su Apache Kafka, Flume, RabbitMQ, ZeroMQ, Kinesis, TCP / IP utičnice, Twitter itd. Strukturirani skupovi podataka koji su dostupni u Spark 2. x + verzije koriste se za strukturirano strujanje.

Kako djeluje iskrenje?

  • U slučaju iskrećeg strujanja, tokovi podataka podijeljeni su u fiksne skupine koje se nazivaju i DStreams što je interno fiksni slijed broja RDD-ova. RDD-ovi se prema tome obrađuju korištenjem Spark API-ja, a dobiveni rezultati se stoga nalaze u serijama. Diskretizirane tokovne operacije koje su ili stanja ili transformacije bez stanja također se sastoje zajedno s njima izlaznim operacijama, ulaznim DStream operacijama i prijemnicima. Ovi su tokovi osnovna razina apstrakcije koju pruža Apache Spark streaming koji je neprekidni tok Spark RDD-ova.
  • Također pruža mogućnost da se tolerancija smetnji koristi za Dstream-ove prilično slične RDD-ima sve dok je kopija podataka dostupna i stoga se bilo koje stanje može ponovno izračunati ili vratiti u prvobitno stanje korištenjem Sparkova linijskog grafikona na skup RDD-ova. Ovdje se mora razmišljati o tome da se Dstream-ovi koriste za prevođenje osnovnih operacija na njihovom temeljnom skupu RDD-a. Ove transformacije na bazi RDD-a vrši i izračunava Spark Engine. Operacije Dstream koriste se za pružanje osnovne razine detalja i dati razvojnom programeru visoku razinu API-ja za razvojne svrhe.

Prednosti iskrećeg strujanja

Različiti su razlozi zašto je upotreba iskre struje dodatna prednost. O nekim ćemo od njih razgovarati ovdje u našem postu.

  1. Objedinjavanje strujnih, serijskih i interaktivnih radnih opterećenja: Skupovi podataka mogu se lako integrirati i koristiti s bilo kojim od radnih opterećenja koje nikada nije bio lak zadatak u kontinuiranim sustavima i stoga služi kao jedno-motor.
  2. Napredna razina analitike, zajedno s strojnim učenjem i SQL upitima: Kad radite na složenom radnom opterećenju, uvijek je potrebno stalno učenje, ali i ažurirane modele podataka. Najbolji dio ove komponente je da se ona lako može integrirati s MLibom ili bilo kojom drugom izdanom knjižnicom strojnog učenja.
  3. Brzi neuspjeh i oporavak za poteškoće: Oporavak neuspjeha i tolerancija pogreške jedna su od osnovnih značajki koje su dostupne u streamingu iskre.
  4. Balansiranje opterećenja: uska grla često nastaju između sustava zbog neravnomjernih opterećenja i ravnoteže koja se vrši, pa je stoga nužno ravnomjerno uravnotežiti opterećenje koje automatski obavlja ta komponenta iskre.
  5. Učinkovitost: Zahvaljujući tehnici računanja u memoriji koja upotrebljava unutarnju memoriju više nego vanjski tvrdi disk, performanse Sparka su vrlo dobre i učinkovite u usporedbi s drugim Hadoop sustavima.

Operacije iskre

1) Transformacijske operacije na Spark streamingu: Na isti način se transformiraju podaci iz skupa RDD-ova, ovdje se i podaci transformiraju iz DStreams-a i nudi mnogo transformacija koje su dostupne na normalnim Spark RDD-ovima. Neki od njih su:

  • Map (): koristi se za vraćanje novog oblika Dstream-a kada svaki element prođe kroz funkciju.
    Na primjer, data.map (line => (line, line.count))
  • flatMap (): Ova je slična mapi, ali svaka je stavka mapirana na 0 ili više mapiranih jedinica.
    Primjer, data.flatMap (lines => lines.split (""))
  • filter (): ovaj se koristi za vraćanje novog skupa Dstream-a vraćanjem zapisa koji su filtrirani za našu upotrebu.
    Primjer, filtriranje (vrijednost => vrijednost == ”iskra”)
  • Union (): Koristi se za vraćanje novog skupa Dstream-a koji se sastoji od podataka kombiniranih iz ulaznih Dstream-ova i drugih Dstream-ova.
    Primjer: Dstream1.union (Dstream2) .union (Dstream3)

2) Ažurirajte stanje operacijom ključa

To vam omogućuje da zadržite proizvoljno stanje čak i kad se to neprestano ažurira s novim informacijama. Trebali biste definirati stanje koje može biti proizvoljnog tipa i definirati funkciju ažuriranja stanja, što znači specificirati stanje korištenjem prethodnog stanja, a također koristiti nove vrijednosti iz ulaznog toka. U svakom paketnom sustavu iskra će primijeniti istu funkciju ažuriranja stanja na sve prevladavajuće tipke.

Primjer:

def funkcija ažuriranja (NV, RC):

ako RC nije:

RC = 0

povratni zbroj (NV, RC) #Nv su nove vrijednosti i RC je pokrenut

Zaključak

Iskrivanje struje jedan je od najučinkovitijih sustava za izgradnju stvarnog cjevovoda i stoga se koristi za prevladavanje svih problema s kojima se susreću tradicionalni sustavi i metode. Stoga su svi programeri koji uče da uđu u komponentu iskrenja zakoračili na najstrožu jedinstvenu točku okvira koji se može koristiti za ispunjavanje svih razvojnih potreba. Stoga sa sigurnošću možemo reći da njegova uporaba povećava produktivnost i performanse u projektima i tvrtkama koje se pokušavaju ili raduju ekosustavu velikih podataka. Nadam se da vam se svidio naš članak. Pratite više članaka poput ovih.

Preporučeni članci

Ovo je vodič za iskrenje struje. Ovdje smo raspravljali o uvodu u iskrenje, kako to djeluje zajedno s prednostima i primjerima. Možete i pregledati ostale naše slične članke -

  1. Što je Hadoop Streaming?
  2. Iskrene naredbe
  3. Vodiči o tome kako instalirati varnicu
  4. Razlika između Hadoop i Spark
  5. Spark DataFrame | prednosti
  6. Top 6 komponenti iskre