Spark Streaming-Datenbereinigungsmechanismus
(I) DStream und RDD
Wie wir wissen, basiert die Spark Streaming-Berechnung auf Spark Core, und der Kern von Spark Core ist RDD, also muss Spark Streaming auch mit RDD in Verbindung stehen.Spark Streaming lässt Benutzer RDD jedoch nicht direkt verwenden, sondern abstrahiert eine Reihe von DStream-Konzepten, DStream und RDD sind inklusive Beziehungen, Sie können es als das Dekorationsmuster in Java verstehen, das heißt, DStream ist eine Erweiterung von RDD, aber das Verhalten ist ähnlich wie bei RDD.
DStream und RDD haben beide mehrere Bedingungen.
(1) haben ähnliche Transformationsaktionen wie map, ReduceByKey usw., aber auch einige einzigartige wie Window, mapWithStated usw.
(2) alle haben Action-Aktionen wie foreachRDD, count usw.
Das Programmiermodell ist konsistent.
(B) Einführung von DStream in Spark-Streaming
DStream enthält mehrere Klassen.
(1) Datenquellenklassen wie InputDStream, spezifisch als DirectKafkaInputStream usw.
(2) Konvertierungsklassen, typischerweise MappedDStream, ShuffledDStream
(3) Ausgabeklassen, typischerweise wie ForEachDStream
Von oben werden die Daten vom Anfang (Eingabe) bis zum Ende (Ausgabe) vom DStream-System erledigt, was bedeutet, dass der Benutzer normalerweise RDDs nicht direkt generieren und manipulieren kann, was bedeutet, dass DStream die Möglichkeit und die Verpflichtung hat, es zu sein verantwortlich für den Lebenszyklus von RDDs.
Mit anderen Worten, Spark Streaming hat eineautomatische BereinigungFunktion.
(iii) Der Prozess der RDD-Generierung in Spark Streaming
Der Lebensablauf von RDDs in Spark Streaming ist grob wie folgt.
(1) In InputDStream werden die empfangenen Daten in RDD umgewandelt, z. B. DirectKafkaInputStream, das KafkaRDD generiert.
(2) dann wird diese Zeit durch MappedDStream und andere Datenkonvertierung direkt als RDD bezeichnet, entsprechend der Kartenmethode für die Konvertierung
(3) In der Ausgabeklassenoperation können Sie den Benutzer nur dann die entsprechende Speicherung, andere Berechnungen und andere Operationen durchführen lassen, wenn das RDD offengelegt ist.