Spark Streaming data skoonmaakmeganisme
(I) DStream en RDD
Soos ons weet, is Spark Streaming-berekening gebaseer op Spark Core, en die kern van Spark Core is RDD, dus moet Spark Streaming ook met RDD verband hou. Spark Streaming laat gebruikers egter nie toe om RDD direk te gebruik nie, maar abstraheer 'n stel DStream-konsepte. DStream en RDD is inklusiewe verhoudings, jy kan dit verstaan as die versieringspatroon in Java, dit wil sê, DStream is 'n verbetering van RDD, maar die gedrag is soortgelyk aan RDD.
DStream en RDD het albei verskeie voorwaardes.
(1) het soortgelyke transformasie-aksies, soos map, reduceByKey, ens., maar ook 'n paar unieke, soos Window, mapWithStated, ens.
(2) almal het Aksie-aksies, soos foreachRDD, count, ens.
Die programmeringsmodel is konsekwent.
(B) Inleiding van DStream in Spark Streaming
DStream bevat verskeie klasse.
(1) Databronklasse, soos InputDStream, spesifiek soos DirectKafkaInputStream, ens.
(2) Omskakelingsklasse, tipies MappedDStream, ShuffledDStream
(3) uitvoerklasse, tipies soos ForEachDStream
Uit bogenoemde word die data van die begin (invoer) tot die einde (uitvoer) deur die DStream-stelsel gedoen, wat beteken dat die gebruiker normaalweg nie direk RDD's kan genereer en manipuleer nie, wat beteken dat die DStream die geleentheid en verpligting het om verantwoordelik te wees vir die lewensiklus van RDD's.
Met ander woorde, Spark Streaming het 'noutomatiese skoonmaakfunksie.
(iii) Die proses van RDD-generering in Spark Streaming
Die lewensvloei van RDD's in Spark Streaming is rofweg soos volg.
(1) In InputDStream word die ontvangde data omskep in RDD, soos DirectKafkaInputStream, wat KafkaRDD genereer.
(2) dan deur MappedDStream en ander data-omskakeling, word hierdie tyd direk RDD genoem wat ooreenstem met die kaartmetode vir omskakeling
(3) In die uitvoerklasbewerking, slegs wanneer die RDD blootgestel is, kan jy die gebruiker toelaat om die ooreenstemmende berging, ander berekeninge en ander bewerkings uit te voer.