• նորությունների_ազդանշան

Ծառայություն

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) ունեն նմանատիպ փոխակերպման գործողություններ, ինչպիսիք են map-ը, reduceByKey-ը և այլն, բայց նաև որոշ եզակի գործողություններ, ինչպիսիք են Window-ը, mapWithStated-ը և այլն։
(2) բոլորն ունեն գործողությունների գործողություններ, ինչպիսիք են foreachRDD, count և այլն։
Ծրագրավորման մոդելը հետևողական է։
(Բ) DStream-ի ներդրումը Spark Streaming-ում
DStream-ը պարունակում է մի քանի դասեր։
(1) Տվյալների աղբյուրի դասեր, ինչպիսիք են InputDStream-ը, մասնավորապես՝ DirectKafkaInputStream-ը և այլն։
(2) Փոխակերպման դասեր, սովորաբար MappedDStream, ShuffledDStream
(3) ելքային դասեր, սովորաբար օրինակ՝ ForEachDStream
Վերոնշյալից ելնելով՝ տվյալները սկզբից (մուտքագրում) մինչև վերջ (ելք) կատարվում են DStream համակարգի կողմից, ինչը նշանակում է, որ օգտատերը սովորաբար չի կարող անմիջապես ստեղծել և մանիպուլյացնել RDD-ները, ինչը նշանակում է, որ DStream-ը հնարավորություն և պարտավորություն ունի պատասխանատու լինելու RDD-ների կյանքի ցիկլի համար։
Այլ կերպ ասած, Spark Streaming-ը ունիավտոմատ մաքրումֆունկցիա
(iii) RDD-ի ստեղծման գործընթացը Spark Streaming-ում
Spark Streaming-ում RDD-ների կյանքի հոսքը մոտավորապես հետևյալն է։
(1) InputDStream-ում ստացված տվյալները վերածվում են RDD-ի, օրինակ՝ DirectKafkaInputStream-ի, որը ստեղծում է KafkaRDD:
(2) այնուհետև MappedDStream-ի և այլ տվյալների փոխակերպման միջոցով այս ժամանակը ուղղակիորեն կոչվում է RDD, որը համապատասխանում է փոխակերպման համար նախատեսված քարտեզի մեթոդին։
(3) Արդյունքի դասի գործողության մեջ, միայն այն դեպքում, երբ RDD-ն բաց է, կարող եք թույլ տալ օգտատիրոջը կատարել համապատասխան պահեստավորումը, այլ հաշվարկներ և այլ գործողություններ։