Mechanismus čištění dat Spark Streaming
(I) DStream a RDD
Jak víme, výpočet Spark Streaming je založen na Spark Core a jádrem Spark Core je RDD, takže Spark Streaming musí také souviset s RDD.Spark Streaming však uživatelům neumožňuje používat RDD přímo, ale abstrahuje sadu pojmů DSream, DStream a RDD jsou inkluzivní vztahy, můžete to chápat jako vzor dekorace v Javě, to znamená, že DStream je vylepšení RDD, ale chování je podobné RDD.
DStream i RDD mají několik podmínek.
(1) mají podobné transformační akce, jako je mapa, snížitByKey atd., ale také některé jedinečné, jako je Window, mapWithStated atd.
(2) všechny mají akční akce, jako je foreachRDD, count atd.
Programovací model je konzistentní.
(B) Zavedení DStream v Spark Streaming
DStream obsahuje několik tříd.
(1) Třídy zdrojů dat, jako je InputDStream, specifické jako DirectKafkaInputStream atd.
(2) Konverzní třídy, typicky MappedDStream, ShuffledDStream
(3) výstupní třídy, typicky jako ForEachDStream
Z výše uvedeného vyplývá, že data od začátku (vstup) do konce (výstup) provádí systém DStream, což znamená, že uživatel běžně nemůže přímo generovat a manipulovat s RDD, což znamená, že DStream má možnost a povinnost být zodpovědný za životní cyklus RDD.
Jinými slovy, Spark Streaming máautomatické čištěnífunkce.
(iii) Proces generování RDD v Spark Streaming
Životní tok RDD v Spark Streaming je hrubý následovně.
(1) V InputDStream jsou přijatá data transformována do RDD, jako je DirectKafkaInputStream, který generuje KafkaRDD.
(2) poté přes MappedDStream a další převod dat se tento čas přímo nazývá RDD odpovídající mapové metodě pro převod
(3) V operaci výstupní třídy, pouze když je RDD vystaven, můžete nechat uživatele provést odpovídající úložiště, další výpočty a další operace.