Mekanismo ng paglilinis ng data ng Spark Streaming
(I) DStream at RDD
Tulad ng alam natin, ang Spark Streaming computation ay batay sa Spark Core, at ang core ng Spark Core ay RDD, kaya ang Spark Streaming ay dapat na nauugnay din sa RDD.Gayunpaman, hindi pinapayagan ng Spark Streaming ang mga user na gumamit ng RDD nang direkta, ngunit nag-abstract ng isang set ng mga konsepto ng DStream, ang DStream at RDD ay mga inclusive na relasyon, mauunawaan mo ito bilang pattern ng dekorasyon sa Java, iyon ay, ang DStream ay isang pagpapahusay ng RDD, ngunit ang ugali ay katulad ng RDD.
Parehong may ilang kundisyon ang DStream at RDD.
(1) may mga katulad na pagkilos ng pagbabago, tulad ng mapa, reduceByKey, atbp., ngunit mayroon ding mga kakaiba, tulad ng Window, mapWithStated, atbp.
(2) lahat ay may mga aksyon na Aksyon, tulad ng foreachRDD, count, atbp.
Ang modelo ng programming ay pare-pareho.
(B) Pagpapakilala ng DStream sa Spark Streaming
Naglalaman ang DStream ng ilang klase.
(1) Mga klase ng data source, gaya ng InputDStream, partikular bilang DirectKafkaInputStream, atbp.
(2) Mga klase ng conversion, karaniwang MappedDStream, ShuffledDStream
(3) mga klase ng output, karaniwang gaya ng ForEachDStream
Mula sa itaas, ang data mula sa simula (input) hanggang sa dulo (output) ay ginagawa ng DStream system, na nangangahulugan na ang user ay karaniwang hindi maaaring direktang bumuo at magmanipula ng mga RDD, na nangangahulugan na ang DStream ay may pagkakataon at obligasyon na maging responsable para sa ikot ng buhay ng mga RDD.
Sa madaling salita, ang Spark Streaming ay mayroongawtomatikong paglilinisfunction.
(iii) Ang proseso ng pagbuo ng RDD sa Spark Streaming
Ang daloy ng buhay ng mga RDD sa Spark Streaming ay mahirap gaya ng mga sumusunod.
(1) Sa InputDStream, ang natanggap na data ay binago sa RDD, gaya ng DirectKafkaInputStream, na bumubuo ng KafkaRDD.
(2) pagkatapos ay sa pamamagitan ng MappedDStream at iba pang conversion ng data, ang oras na ito ay direktang tinatawag na RDD na naaayon sa paraan ng mapa para sa conversion
(3) Sa pagpapatakbo ng klase ng output, kapag nalantad lamang ang RDD, maaari mong hayaan ang user na gawin ang kaukulang storage, iba pang mga kalkulasyon, at iba pang mga operasyon.