• news_banner

Service

Rensemekanisme for Spark Streaming-data
(I) DSream og RDD
Som vi vet er Spark Streaming-beregning basert på Spark Core, og kjernen i Spark Core er RDD, så Spark Streaming må også være relatert til RDD.Spark Streaming lar imidlertid ikke brukere bruke RDD direkte, men abstraherer et sett med DStream-konsepter, DStream og RDD er inkluderende relasjoner, du kan forstå det som dekorasjonsmønsteret i Java, det vil si at DStream er en forbedring av RDD, men oppførselen ligner på RDD.
DStream og RDD har begge flere forhold.
(1) har lignende transformasjonshandlinger, for eksempel kart, reduceByKey, etc., men også noen unike, for eksempel Window, mapWithStated, etc.
(2) alle har handlingshandlinger, som foreachRDD, telling osv.
Programmeringsmodellen er konsistent.
(B) Introduksjon av DStream i Spark Streaming
DStream inneholder flere klasser.
(1) Datakildeklasser, for eksempel InputDStream, spesifikke som DirectKafkaInputStream, etc.
(2) Konverteringsklasser, typisk MappedDStream, ShuffledDStream
(3) utdataklasser, vanligvis som ForEachDStream
Fra ovenstående blir dataene fra begynnelsen (input) til slutten (output) utført av DStream-systemet, noe som betyr at brukeren normalt ikke kan generere og manipulere RDD-er direkte, noe som betyr at DStream har mulighet og forpliktelse til å være ansvarlig for livssyklusen til RDD-er.
Med andre ord, Spark Streaming har enautomatisk oppryddingfunksjon.
(iii) Prosessen med RDD-generering i Spark Streaming
Livsflyten til RDD-er i Spark Streaming er grov som følger.
(1) I InputDStream blir de mottatte dataene transformert til RDD, slik som DirectKafkaInputStream, som genererer KafkaRDD.
(2) deretter gjennom MappedDStream og annen datakonvertering, kalles denne tiden direkte RDD tilsvarende kartmetoden for konvertering
(3) I utgangsklasseoperasjonen, bare når RDD er eksponert, kan du la brukeren utføre tilsvarende lagring, andre beregninger og andre operasjoner.