Mehanizem za čiščenje podatkov Spark Streaming
(I) DStream in RDD
Kot vemo, izračun Spark Streaming temelji na Spark Core, jedro Spark Core pa je RDD, zato mora biti Spark Streaming povezan tudi z RDD.Vendar Spark Streaming uporabnikom ne dovoljuje neposredne uporabe RDD, ampak abstrahira nabor konceptov DStream, DStream in RDD sta vključujoča razmerja, razumete ga lahko kot okrasni vzorec v Javi, kar pomeni, da je DStream izboljšava RDD, vendar obnašanje je podobno RDD.
DStream in RDD imata več pogojev.
(1) imajo podobna dejanja preoblikovanja, kot so map, reduceByKey itd., a tudi nekatera edinstvena, kot so Window, mapWithStated itd.
(2) vsi imajo dejanja dejanj, kot so foreachRDD, count itd.
Programski model je konsistenten.
(B) Uvedba DStream v Spark Streaming
DStream vsebuje več razredov.
(1) Razredi virov podatkov, kot je InputDStream, specifični kot DirectKafkaInputStream itd.
(2) Razredi pretvorbe, običajno MappedDStream, ShuffledDStream
(3) izhodni razredi, običajno kot je ForEachDStream
Iz navedenega sledi, da podatke od začetka (vnos) do konca (izhod) opravi sistem DStream, kar pomeni, da uporabnik običajno ne more neposredno generirati in manipulirati z RDD-ji, kar pomeni, da ima DStream možnost in obveznost, da odgovoren za življenjski cikel RDD.
Z drugimi besedami, Spark Streaming imasamodejno čiščenjefunkcijo.
(iii) Postopek generiranja RDD v Spark Streaming
Življenjski tok RDD-jev v Spark Streaming je grob, kot sledi.
(1) V InputDStream se prejeti podatki pretvorijo v RDD, kot je DirectKafkaInputStream, ki generira KafkaRDD.
(2) nato prek MappedDStream in druge pretvorbe podatkov, ta čas se neposredno imenuje RDD, ki ustreza metodi zemljevida za pretvorbo
(3) V operaciji izhodnega razreda lahko uporabniku omogočite izvajanje ustreznega shranjevanja, drugih izračunov in drugih operacij le, ko je RDD izpostavljen.