Mekanisme pembersihan data Spark Streaming
(I) DStream dan RDD
Seperti yang kita ketahui, komputasi Spark Streaming didasarkan pada Spark Core, dan inti dari Spark Core adalah RDD, sehingga Spark Streaming juga harus terkait dengan RDD. Namun, Spark Streaming tidak memungkinkan pengguna untuk menggunakan RDD secara langsung, melainkan mengabstraksikan serangkaian konsep DStream. DStream dan RDD merupakan hubungan inklusif. Anda dapat memahaminya sebagai pola dekorasi di Java. Artinya, DStream merupakan penyempurnaan dari RDD, tetapi perilakunya mirip dengan RDD.
DStream dan RDD keduanya memiliki beberapa kondisi.
(1) memiliki tindakan transformasi yang serupa, seperti map, reduceByKey, dll., tetapi juga beberapa yang unik, seperti Window, mapWithStated, dll.
(2) semuanya memiliki tindakan Aksi, seperti foreachRDD, hitung, dll.
Model pemrogramannya konsisten.
(B) Pengenalan DStream di Spark Streaming
DStream berisi beberapa kelas.
(1) Kelas sumber data, seperti InputDStream, spesifiknya DirectKafkaInputStream, dll.
(2) Kelas konversi, biasanya MappedDStream, ShuffledDStream
(3) kelas keluaran, biasanya seperti ForEachDStream
Dari uraian di atas, data dari awal (input) sampai akhir (output) dikerjakan oleh sistem DStream, artinya pengguna biasanya tidak dapat secara langsung membuat dan memanipulasi RDD, artinya DStream berkesempatan dan berkewajiban bertanggung jawab terhadap siklus hidup RDD.
Dengan kata lain, Spark Streaming memilikipembersihan otomatisfungsi.
(iii) Proses pembangkitan RDD di Spark Streaming
Alur kehidupan RDD di Spark Streaming secara kasar adalah sebagai berikut.
(1) Dalam InputDStream, data yang diterima diubah menjadi RDD, seperti DirectKafkaInputStream, yang menghasilkan KafkaRDD.
(2) kemudian melalui MappedDStream dan konversi data lainnya, waktu ini langsung disebut RDD yang sesuai dengan metode peta untuk konversi
(3) Dalam operasi kelas keluaran, hanya ketika RDD diekspos, Anda dapat membiarkan pengguna melakukan penyimpanan yang sesuai, perhitungan lain, dan operasi lainnya.