• nyhetsbanner

Service

Mekanism för datarensning i Spark Streaming
(I) DStream och RDD
Som vi vet är Spark Streaming-beräkning baserad på Spark Core, och kärnan i Spark Core är RDD, så Spark Streaming måste också vara relaterad till RDD. Spark Streaming låter dock inte användare använda RDD direkt, utan abstraherar en uppsättning DStream-koncept. DStream och RDD är inkluderande relationer, du kan förstå det som dekorationsmönstret i Java, det vill säga att DStream är en förbättring av RDD, men beteendet liknar RDD.
Både DStream och RDD har flera villkor.
(1) har liknande transformationsåtgärder, såsom map, reduceByKey, etc., men även några unika, såsom Window, mapWithStated, etc.
(2) alla har Action-åtgärder, såsom foreachRDD, count, etc.
Programmeringsmodellen är konsekvent.
(B) Introduktion av DStream i Spark Streaming
DStream innehåller flera klasser.
(1) Datakällklasser, såsom InputDStream, specifika som DirectKafkaInputStream, etc.
(2) Konverteringsklasser, vanligtvis MappedDStream, ShuffledDStream
(3) utdataklasser, vanligtvis såsom ForEachDStream
Av ovanstående följer att data från början (input) till slut (output) görs av DStream-systemet, vilket innebär att användaren normalt inte direkt kan generera och manipulera RDD:er, vilket innebär att DStream har möjlighet och skyldighet att ansvara för RDD:ernas livscykel.
Med andra ord har Spark Streaming enautomatisk rensningfungera.
(iii) Processen för RDD-generering i Spark Streaming
Livsflödet för RDD:er i Spark Streaming är ungefär enligt följande.
(1) I InputDStream omvandlas den mottagna datan till RDD, såsom DirectKafkaInputStream, vilket genererar KafkaRDD.
(2) sedan via MappedDStream och annan datakonvertering, kallas denna tid direkt RDD motsvarande mappningsmetoden för konvertering
(3) I utdataklassoperationen kan du endast låta användaren utföra motsvarande lagring, andra beräkningar och andra operationer när RDD:n är exponerad.