Механізм ачысткі дадзеных Spark Streaming
(I) DStream і RDD
Як мы ведаем, вылічэнні Spark Streaming заснаваныя на Spark Core, а ядром Spark Core з'яўляецца RDD, таму Spark Streaming таксама павінен быць звязаны з RDD.Тым не менш, Spark Streaming не дазваляе карыстальнікам выкарыстоўваць RDD непасрэдна, але абстрагуе набор канцэпцый DStream, DStream і RDD з'яўляюцца інклюзіўнымі адносінамі, вы можаце разумець гэта як узор упрыгожвання ў Java, гэта значыць, DStream з'яўляецца паляпшэннем RDD, але паводзіны падобна на RDD.
DStream і RDD маюць некалькі ўмоў.
(1) маюць падобныя дзеянні пераўтварэння, такія як map, reduceByKey і г.д., але таксама некаторыя унікальныя, такія як Window, mapWithStated і г.д.
(2) усе маюць дзеянні Action, такія як foreachRDD, count і г.д.
Мадэль праграмавання паслядоўная.
(B) Увядзенне DStream у Spark Streaming
DStream змяшчае некалькі класаў.
(1) Класы крыніц даных, такія як InputDStream, канкрэтныя як DirectKafkaInputStream і г.д.
(2) Класы пераўтварэння, звычайна MappedDStream, ShuffledDStream
(3) класы вываду, як правіла, такія як ForEachDStream
Зыходзячы з вышэйсказанага, даныя ад пачатку (уводу) да канца (вываду) ажыццяўляюцца сістэмай DStream, што азначае, што карыстальнік звычайна не можа непасрэдна ствараць і маніпуляваць RDD, што азначае, што DStream мае магчымасць і абавязак быць адказвае за жыццёвы цыкл RDD.
Іншымі словамі, Spark Streaming маеаўтаматычная ачысткафункцыя.
(iii) Працэс генерацыі RDD у Spark Streaming
Жыццёвы паток RDD у Spark Streaming прыблізны наступным чынам.
(1) У InputDStream атрыманыя даныя пераўтвараюцца ў RDD, напрыклад DirectKafkaInputStream, які стварае KafkaRDD.
(2) потым з дапамогай MappedDStream і іншых пераўтварэнняў даных, гэты час непасрэдна называецца RDD, які адпавядае метаду карты для пераўтварэння
(3) У аперацыі класа вываду, толькі калі RDD адкрыты, вы можаце дазволіць карыстальніку выконваць адпаведнае захоўванне, іншыя вылічэнні і іншыя аперацыі.