Spark Streaming adattisztító mechanizmus
(I) DStream és RDD
Mint tudjuk, a Spark Streaming számítása a Spark Core-on alapul, a Spark Core magja pedig az RDD, tehát a Spark Streamingnek is kapcsolódnia kell az RDD-hez. A Spark Streaming azonban nem engedi meg a felhasználóknak, hogy közvetlenül használják az RDD-t, hanem egy sor DStream fogalmat absztrahál. A DStream és az RDD befogadó kapcsolatok, ezeket a Java dekorációs mintájaként értelmezhetjük, azaz a DStream az RDD továbbfejlesztése, de a viselkedése hasonló az RDD-hez.
A DStreamnek és az RDD-nek is számos feltétele van.
(1) hasonló transzformációs műveletekkel rendelkeznek, mint például a map, reduceByKey stb., de egyedi műveletekkel is, mint például a Window, mapWithStated stb.
(2) mindegyik rendelkezik Akció műveletekkel, például foreachRDD, count stb.
A programozási modell konzisztens.
(B) A DStream bevezetése a Spark Streamingbe
A DStream több osztályt tartalmaz.
(1) Adatforrás-osztályok, például az InputDStream, specifikusan a DirectKafkaInputStream stb.
(2) Konverziós osztályok, jellemzően MappedDStream, ShuffledDStream
(3) kimeneti osztályok, jellemzően például a ForEachDStream
A fentiekből kitűnik, hogy az adatok feldolgozását a kezdetektől (bemenet) a végéig (kimenet) a DStream rendszer végzi, ami azt jelenti, hogy a felhasználó normál esetben nem tud közvetlenül RDD-ket generálni és manipulálni, ami azt jelenti, hogy a DStreamnek lehetősége és kötelessége felelősséget vállalni az RDD-k életciklusáért.
Más szóval, a Spark Streamingnek van egyautomatikus tisztításfunkció.
(iii) RDD generálásának folyamata Spark Streamingben
Az RDD-k életciklusa a Spark Streamingben a következőképpen alakul.
(1) Az InputDStreamben a fogadott adatokat RDD formátumba, például DirectKafkaInputStream formátumba alakítja át, amely KafkaRDD-t generál.
(2) majd a MappedDStream és más adatkonverziók révén ezt az időpontot közvetlenül RDD-nek nevezzük, amely megfelel a konverzióhoz használt map módszernek.
(3) A kimeneti osztály műveletében csak akkor engedélyezhető a felhasználónak a megfelelő tárolás, egyéb számítások és egyéb műveletek végrehajtása, ha az RDD elérhető.