Mechanizmus čistenia údajov Spark Streaming
(I) DStream a RDD
Ako vieme, výpočet Spark Streamingu je založený na Spark Core a jadrom Spark Core je RDD, takže Spark Streaming musí byť tiež prepojený s RDD. Spark Streaming však neumožňuje používateľom používať RDD priamo, ale abstrahuje sadu konceptov DStream. DStream a RDD sú inkluzívne vzťahy, ktoré možno chápať ako dekoračný vzor v Jave, teda DStream je vylepšením RDD, ale správanie je podobné ako RDD.
DStream aj RDD majú niekoľko podmienok.
(1) majú podobné transformačné akcie, ako napríklad map, reduceByKey atď., ale aj niektoré jedinečné, ako napríklad Window, mapWithStated atď.
(2) všetky majú akcie typu Action, ako napríklad foreachRDD, count atď.
Programovací model je konzistentný.
(B) Úvod do DStream v Spark Streamingu
DStream obsahuje niekoľko tried.
(1) Triedy zdrojov údajov, ako napríklad InputDStream, špecifické ako DirectKafkaInputStream atď.
(2) Konverzné triedy, typicky MappedDStream, ShuffledDStream
(3) výstupné triedy, typicky ako ForEachDStream
Z vyššie uvedeného vyplýva, že dáta od začiatku (vstup) až po koniec (výstup) spracováva systém DStream, čo znamená, že používateľ zvyčajne nemôže priamo generovať a manipulovať s RDD, a preto má DStream možnosť a povinnosť byť zodpovedný za životný cyklus RDD.
Inými slovami, Spark Streaming máautomatické čisteniefunkcia.
(iii) Proces generovania RDD v Spark Streaming
Životný tok RDD v Spark Streaming je nasledovný.
(1) V InputDStream sa prijaté dáta transformujú do RDD, napríklad DirectKafkaInputStream, ktorý generuje KafkaRDD.
(2) potom prostredníctvom MappedDStream a iných konverzií údajov sa tento čas priamo nazýva RDD zodpovedajúci metóde mapovania pre konverziu
(3) V operácii výstupnej triedy, iba keď je RDD vystavený, môžete používateľovi umožniť vykonať zodpovedajúce ukladanie, ďalšie výpočty a ďalšie operácie.