Spark Streaming andmete puhastusmehhanism
(I) DStream ja RDD
Nagu me teame, põhineb Spark Streamingi arvutus Spark Core'il ja Spark Core'i tuum on RDD, seega peab Spark Streaming olema seotud ka RDD-ga.Kuid Spark Streaming ei lase kasutajatel RDD-d otse kasutada, vaid võtab kokku DStreami kontseptsioonide komplekti, DStream ja RDD on kaasavad suhted, võite seda mõista kui Java kaunistusmustrit, see tähendab, et DStream on RDD täiustus, kuid käitumine on sarnane RDD-ga.
Mõlemal DStreamil ja RDD-l on mitu tingimust.
(1) neil on sarnased teisendustoimingud, nagu kaart, reduktsioonivõti jne, kuid ka unikaalsed, näiteks Window, mapWithStated jne.
(2) kõigil on tegevustoimingud, nagu foreachRDD, count jne.
Programmeerimismudel on järjepidev.
(B) DStreami kasutuselevõtt Spark Streamingus
DStream sisaldab mitut klassi.
(1) Andmeallika klassid, näiteks InputDStream, spetsiifilised nagu DirectKafkaInputStream jne.
(2) Konversiooniklassid, tavaliselt MappedDStream, ShuffledDStream
(3) väljundklassid, tavaliselt näiteks ForEachDStream
Eeltoodust lähtuvalt teeb andmed algusest (sisend) kuni lõpuni (väljund) DStream süsteem, mis tähendab, et kasutaja ei saa tavaliselt RDD-sid otse genereerida ja nendega manipuleerida, mis tähendab, et DStreamil on võimalus ja kohustus olla vastutavad RDDde elutsükli eest.
Teisisõnu, Spark Streamingil onautomaatne puhastusfunktsiooni.
(iii) RDD genereerimise protsess Spark Streamingis
RDD-de eluvoog Spark Streamingis on konarlik järgmiselt.
(1) InputDStreamis teisendatakse vastuvõetud andmed RDD-ks, näiteks DirectKafkaInputStream, mis genereerib KafkaRDD.
(2) seejärel MappedDStreami ja muude andmete teisendamise kaudu nimetatakse seda aega otse RDD-ks, mis vastab teisendamise kaardimeetodile
(3) Väljundklassi operatsioonis saate ainult siis, kui RDD on avatud, lasta kasutajal teha vastavaid salvestusi, muid arvutusi ja muid toiminguid.