• ახალი ამბები_ბანერი

სერვისი

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) ყველას აქვს Action ქმედებები, როგორიცაა 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 არის გამოვლენილი, შეგიძლიათ მომხმარებელს მისცეთ უფლება შეასრულოს შესაბამისი შენახვა, სხვა გამოთვლები და სხვა ოპერაციები.