Spark Streaming маалыматтарды тазалоо механизми
(I) DStream жана RDD
Белгилүү болгондой, Spark Streaming эсептөөсү Spark Core негизинде түзүлгөн жана Spark Core өзөгү RDD болуп саналат, ошондуктан Spark Streaming RDD менен да байланыштуу болушу керек.Бирок, Spark Streaming колдонуучуларга RDDди түздөн-түз колдонууга уруксат бербейт, бирок DStream концепцияларынын жыйындысын абстракциялайт, DStream жана RDD инклюзивдик мамилелер болуп саналат, аны Javaдагы жасалгалоо үлгүсү катары түшүнсөңүз болот, башкача айтканда, DStream RDDдин өркүндөтүлүшү, бирок жүрүм-турум RDD окшош.
DStream жана RDD экөө тең бир нече шарттарга ээ.
(1) карта, reduceByKey ж.б. сыяктуу окшош өзгөртүү аракеттерине ээ, бирок ошондой эле кээ бир уникалдуу, мисалы, Window, mapWithStated ж.б.
(2) бардыгында Action аракеттери бар, мисалы foreachRDD, count ж.б.
Программалоо модели ырааттуу.
(B) Spark Streamingге DStreamди киргизүү
DStream бир нече класстарды камтыйт.
(1) DirectKafkaInputStream сыяктуу InputDStream сыяктуу маалымат булагы класстары, ж.б.
(2) Конверсия класстары, адатта MappedDStream, ShuffledDStream
(3) чыгаруу класстары, адатта, ForEachDStream сыяктуу
Жогоруда айтылгандардан, башынан (киргизүү) аягына (чыгарууга) чейинки маалыматтар DStream тутуму тарабынан ишке ашырылат, бул колдонуучу адатта RDDлерди түздөн-түз түзө албайт жана манипуляциялай албайт, бул DStream мүмкүнчүлүгү жана милдети бар экенин билдирет. RDD жашоо цикли үчүн жооптуу.
Башка сөз менен айтканда, Spark Streaming баравтоматтык тазалоофункция.
(iii) Spark Streamingдеги RDD генерациялоо процесси
Spark Streamingдеги RDDлердин жашоо агымы төмөнкүдөй одоно.
(1) InputDStreamде кабыл алынган маалыматтар KafkaRDD түзүүчү DirectKafkaInputStream сыяктуу RDDге айландырылат.
(2) андан кийин MappedDStream жана башка маалыматтарды конвертациялоо аркылуу, бул жолу түздөн-түз өзгөртүү үчүн карта ыкмасына ылайыктуу RDD деп аталат.
(3) Чыгуу классынын операциясында, RDD ачыкка чыкканда гана, колдонуучуга тиешелүү сактоону, башка эсептөөлөрдү жана башка операцияларды аткарууга уруксат бере аласыз.