Spark Streaming mehanizam za čišćenje podataka
(I) DStream i RDD
Kao što znamo, proračun Spark Streaminga temelji se na Spark Coreu, a jezgra Spark Corea je RDD, tako da Spark Streaming također mora biti povezan s RDD-om.Međutim, Spark Streaming ne dopušta korisnicima da izravno koriste RDD, već apstrahira skup koncepata DStream, DStream i RDD su inkluzivni odnosi, možete to shvatiti kao ukrasni uzorak u Javi, to jest, DStream je poboljšanje RDD-a, ali ponašanje je slično RDD-u.
DStream i RDD imaju nekoliko uvjeta.
(1) imaju slične akcije pretvorbe, kao što su map, reduceByKey, itd., ali također i neke jedinstvene, kao što su Window, mapWithStated, itd.
(2) svi imaju akcije akcije, kao što su foreachRDD, count, itd.
Model programiranja je konzistentan.
(B) Uvođenje DStream-a u Spark Streaming
DStream sadrži nekoliko klasa.
(1) Klase izvora podataka, kao što je InputDStream, specifične kao DirectKafkaInputStream, itd.
(2) Klase pretvorbe, obično MappedDStream, ShuffledDStream
(3) izlazne klase, obično kao što je ForEachDStream
Iz navedenog, podatke od početka (unosa) do kraja (izlaza) obavlja DStream sustav, što znači da korisnik inače ne može direktno generirati i manipulirati RDD-ovima, što znači da DStream ima priliku i obvezu biti odgovorni za životni ciklus RDD-ova.
Drugim riječima, Spark Streaming imaautomatsko čišćenjefunkcija.
(iii) Proces generiranja RDD-a u Spark Streamingu
Životni tok RDD-ova u Spark Streamingu je grub kako slijedi.
(1) U InputDStream-u, primljeni podaci se transformiraju u RDD, kao što je DirectKafkaInputStream, koji generira KafkaRDD.
(2) zatim kroz MappedDStream i druge pretvorbe podataka, ovaj put se izravno naziva RDD koji odgovara metodi karte za pretvorbu
(3) U operaciji izlazne klase, samo kada je RDD izložen, možete dopustiti korisniku da izvrši odgovarajuću pohranu, druge izračune i druge operacije.