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, т.
(2) барлығында әрекет әрекеттері бар, мысалы, foreachRDD, санау, т.б.
Бағдарламалау моделі үйлесімді.
(B) Spark Streaming жүйесіне DStream енгізу
DStream құрамында бірнеше сыныптар бар.
(1) DirectKafkaInputStream сияқты арнайы InputDStream сияқты деректер көзі сыныптары, т.б.
(2) Түрлендіру сыныптары, әдетте MappedDStream, ShuffledDStream
(3) әдетте ForEachDStream сияқты шығыс сыныптары
Жоғарыда айтылғандардан деректердің басынан (енгізуінен) соңына дейін (шығыс) DStream жүйесі орындалады, бұл пайдаланушы әдетте RDD-ді тікелей генерациялай және манипуляциялай алмайды, бұл DStream мүмкіндігі мен міндетіне ие екенін білдіреді. RDD өмірлік цикліне жауапты.
Басқаша айтқанда, Spark Streaming баравтоматты тазалауфункциясы.
(iii) Spark Streaming жүйесінде RDD генерациялау процесі
Spark Streaming жүйесіндегі RDD қызмет ету ағыны келесідей өрескел.
(1) InputDStream ішінде қабылданған деректер KafkaRDD жасайтын DirectKafkaInputStream сияқты RDD түрлендіріледі.
(2) содан кейін MappedDStream және басқа деректерді түрлендіру арқылы бұл уақыт түрлендіруге арналған карта әдісіне сәйкес тікелей RDD деп аталады.
(3) Шығару сыныбының әрекетінде, тек RDD ашылғанда, пайдаланушыға сәйкес жадты, басқа есептеулерді және басқа әрекеттерді орындауға рұқсат бере аласыз.