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 kapcsolódnia kell az RDD-hez is.A Spark Streaming azonban nem engedi, hogy a felhasználók közvetlenül használják az RDD-t, hanem absztrahálja a DStream fogalmak halmazát, a DStream és az RDD inkluzív kapcsolatok, érthető a Java dekorációs mintájaként, vagyis a DStream az RDD továbbfejlesztése, de a viselkedés hasonló az RDD-hez.
A DStreamnek és az RDD-nek is több feltétele van.
(1) hasonló átalakítási műveletekkel rendelkezik, mint például a térkép, a redukciós kulcs stb., de néhány egyedi is, például Window, mapWithStated stb.
(2) mindegyik rendelkezik Action műveletekkel, például foreachRDD, count stb.
A programozási modell konzisztens.
(B) A DStream bevezetése a Spark Streamingben
A DStream több osztályt is tartalmaz.
(1) Adatforrásosztályok, például InputDStream, konkrétan 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 az adatok elejétől (input) a végéig (output) a DStream rendszer által történik, ami azt jelenti, hogy a felhasználó általában nem tud közvetlenül generálni és manipulálni RDD-ket, ami azt jelenti, hogy a DStreamnek lehetősége és kötelezettsége van felelősek az RDD-k életciklusáért.
Más szóval, a Spark Streaming rendelkezik egyautomatikus tisztításfunkció.
(iii) Az RDD-generálás folyamata a Spark Streamingben
Az RDD-k életfolyamata a Spark Streamingben a következőképpen durva.
(1) Az InputDStreamben a fogadott adatok RDD-vé alakulnak, például a DirectKafkaInputStream-be, amely létrehozza a KafkaRDD-t.
(2) majd a MappedDStreamen és más adatkonverzión keresztül ezt az időt közvetlenül RDD-nek hívják, amely megfelel az átalakítás térképmódszerének
(3) A kimeneti osztály műveletben csak akkor, ha az RDD ki van téve, engedélyezheti a felhasználónak a megfelelő tárolási, egyéb számítások és egyéb műveletek végrehajtását.