• nyhedsbanner

Service

Spark Streaming-datarensningsmekanisme
(I) DSream og RDD
Som vi ved, er Spark Streaming-beregning baseret på Spark Core, og kernen i Spark Core er RDD, så Spark Streaming skal også være relateret til RDD.Spark Streaming lader dog ikke brugere bruge RDD direkte, men abstraherer et sæt DStream-koncepter, DStream og RDD er inkluderende relationer, du kan forstå det som dekorationsmønsteret i Java, det vil sige, DStream er en forbedring af RDD, men adfærden ligner RDD.
DStream og RDD har begge flere betingelser.
(1) har lignende transformationshandlinger, såsom map, reduceByKey osv., men også nogle unikke, såsom Window, mapWithStated osv.
(2) alle har handlingshandlinger, såsom foreachRDD, count osv.
Programmeringsmodellen er konsistent.
(B) Introduktion af DStream i Spark Streaming
DStream indeholder flere klasser.
(1) Datakildeklasser, såsom InputDStream, specifik som DirectKafkaInputStream osv.
(2) Konverteringsklasser, typisk MappedDStream, ShuffledDStream
(3) outputklasser, typisk såsom ForEachDStream
Fra ovenstående udføres data fra begyndelsen (input) til slutningen (output) af DStream-systemet, hvilket betyder, at brugeren normalt ikke direkte kan generere og manipulere RDD'er, hvilket betyder, at DStreamen har mulighed og forpligtelse til at være ansvarlig for RDD'ers livscyklus.
Med andre ord har Spark Streaming enautomatisk oprydningfungere.
(iii) Processen med RDD-generering i Spark Streaming
Livsstrømmen af ​​RDD'er i Spark Streaming er grov som følger.
(1) I InputDStream transformeres de modtagne data til RDD, såsom DirectKafkaInputStream, som genererer KafkaRDD.
(2) gennem MappedDStream og anden datakonvertering kaldes denne tid direkte RDD svarende til kortmetoden til konvertering
(3) I outputklassens operation kan du kun lade brugeren udføre den tilsvarende lagring, andre beregninger og andre operationer, når RDD'en er eksponeret.