Mechanizm czyszczenia danych Spark Streaming
(I) DStream i RDD
Jak wiemy, obliczenia Spark Streaming opierają się na Spark Core, a rdzeń Spark Core to RDD, więc Spark Streaming również musi być powiązany z RDD.Jednak Spark Streaming nie pozwala użytkownikom bezpośrednio korzystać z RDD, ale abstrakcyjnie zestaw koncepcji DStream, DStream i RDD są relacjami włączającymi, można to rozumieć jako wzorzec dekoracji w Javie, to znaczy DStream jest udoskonaleniem RDD, ale zachowanie jest podobne do RDD.
Zarówno DStream, jak i RDD mają kilka warunków.
(1) mają podobne akcje transformacji, takie jak mapa, redukcjaByKey itp., ale także pewne unikalne, takie jak Window, mapWithStated itp.
(2) wszystkie mają akcje akcji, takie jak foreachRDD, liczba itp.
Model programowania jest spójny.
(B) Wprowadzenie DStream w Spark Streaming
DStream zawiera kilka klas.
(1) Klasy źródeł danych, takie jak InputDStream, specyficzne jak DirectKafkaInputStream itp.
(2) Klasy konwersji, zazwyczaj MappedDStream, ShuffledDStream
(3) klasy wyjściowe, zazwyczaj takie jak ForEachDStream
Z powyższego dane od początku (wejście) do końca (wyjście) realizowane są przez system DStream, co oznacza, że użytkownik zwykle nie może bezpośrednio generować i manipulować RDD, co oznacza, że DStream ma możliwość i obowiązek być odpowiedzialne za cykl życia RDD.
Innymi słowy, Spark Streaming maautomatyczne czyszczeniefunkcjonować.
(iii) Proces generowania RDD w Spark Streaming
Przebieg życia RDD w Spark Streaming jest przybliżony w następujący sposób.
(1) W programie InputDStream odebrane dane są przekształcane do formatu RDD, takiego jak DirectKafkaInputStream, który generuje KafkaRDD.
(2) następnie poprzez MappedDStream i inną konwersję danych, czas ten nazywany jest bezpośrednio RDD, co odpowiada metodzie mapowania konwersji
(3) W operacji klasy wyjściowej, tylko po ujawnieniu RDD, możesz pozwolić użytkownikowi na wykonanie odpowiedniego przechowywania, innych obliczeń i innych operacji.