Mécanisme de nettoyage des données Spark Streaming
(I) DStream et RDD
Comme nous le savons, le calcul de Spark Streaming est basé sur Spark Core, et le cœur de Spark Core est RDD, donc Spark Streaming doit également être lié à RDD.Cependant, Spark Streaming ne permet pas aux utilisateurs d'utiliser RDD directement, mais résume un ensemble de concepts DStream, DStream et RDD sont des relations inclusives, vous pouvez le comprendre comme le modèle de décoration en Java, c'est-à-dire que DStream est une amélioration de RDD, mais le comportement est similaire à RDD.
DStream et RDD ont tous deux plusieurs conditions.
(1) ont des actions de transformation similaires, telles que map, réduireByKey, etc., mais aussi certaines uniques, telles que Window, mapWithStated, etc.
(2) tous ont des actions d'action, telles que foreachRDD, count, etc.
Le modèle de programmation est cohérent.
(B) Introduction de DStream dans Spark Streaming
DStream contient plusieurs classes.
(1) Classes de sources de données, telles que InputDStream, spécifiques comme DirectKafkaInputStream, etc.
(2) Classes de conversion, généralement MappedDStream, ShuffledDStream
(3) classes de sortie, généralement telles que ForEachDStream
D'après ce qui précède, les données du début (entrée) à la fin (sortie) sont traitées par le système DStream, ce qui signifie que l'utilisateur ne peut normalement pas générer et manipuler directement les RDD, ce qui signifie que le DStream a la possibilité et l'obligation d'être responsable du cycle de vie des RDD.
En d’autres termes, Spark Streaming a unnettoyage automatiquefonction.
(iii) Le processus de génération de RDD dans Spark Streaming
Le flux de vie des RDD dans Spark Streaming est le suivant.
(1) Dans InputDStream, les données reçues sont transformées en RDD, comme DirectKafkaInputStream, qui génère KafkaRDD.
(2) puis via MappedDStream et d'autres conversions de données, cette fois est directement appelé RDD correspondant à la méthode map pour la conversion
(3) Dans l'opération de classe de sortie, uniquement lorsque le RDD est exposé, vous pouvez laisser l'utilisateur effectuer le stockage correspondant, d'autres calculs et d'autres opérations.