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