• novična_pasica

Storitev

Mehanizem čiščenja podatkov Spark Streaming
(I) DStream in RDD
Kot vemo, računanje Spark Streaming temelji na Spark Core, jedro Spark Core pa je RDD, zato mora biti tudi Spark Streaming povezan z RDD. Vendar Spark Streaming uporabnikom ne omogoča neposredne uporabe RDD, temveč abstrahira niz konceptov DStream. DStream in RDD sta vključujoča razmerja, kar lahko razumemo kot vzorec dekoracije v Javi, torej je DStream izboljšava RDD, vendar je vedenje podobno RDD.
DStream in RDD imata oba več pogojev.
(1) imajo podobna transformacijska dejanja, kot so map, reduceByKey itd., pa tudi nekatera edinstvena, kot so Window, mapWithStated itd.
(2) vsi imajo dejanja Action, kot so foreachRDD, count itd.
Programski model je dosleden.
(B) Uvedba DStream v Spark Streaming
DStream vsebuje več razredov.
(1) Razredi virov podatkov, kot je InputDStream, specifični za DirectKafkaInputStream itd.
(2) Razredi pretvorbe, običajno MappedDStream, ShuffledDStream
(3) izhodni razredi, običajno kot na primer ForEachDStream
Iz zgoraj navedenega sledi, da podatke od začetka (vnos) do konca (izhod) obdeluje sistem DStream, kar pomeni, da uporabnik običajno ne more neposredno generirati in manipulirati z RDD-ji, zato ima DStream možnost in obveznost, da je odgovoren za življenjski cikel RDD-jev.
Z drugimi besedami, Spark Streaming imasamodejno čiščenjefunkcija.
(iii) Postopek generiranja RDD v Spark Streamingu
Življenjski tok RDD-jev v Spark Streamingu je grob, kot sledi.
(1) V InputDStream se prejeti podatki pretvorijo v RDD, kot je DirectKafkaInputStream, ki generira KafkaRDD.
(2) nato se s pomočjo MappedDStream in drugih pretvorb podatkov ta čas neposredno imenuje RDD, kar ustreza metodi mapiranja za pretvorbo
(3) V operaciji izhodnega razreda lahko uporabniku dovolite izvajanje ustreznega shranjevanja, drugih izračunov in drugih operacij le, ko je RDD izpostavljen.