• ข่าว_แบนเนอร์

บริการ

กลไกการทำความสะอาดข้อมูล 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, ลด ByKey ฯลฯ แต่ยังมีลักษณะเฉพาะบางอย่าง เช่น Window, mapWithStated เป็นต้น
(2) ทั้งหมดมีการดำเนินการ Action เช่น foreachRDD, count เป็นต้น
รูปแบบการเขียนโปรแกรมมีความสอดคล้องกัน
(B) การแนะนำ DStream ใน Spark Streaming
DStream มีหลายคลาส
(1) คลาสแหล่งข้อมูล เช่น InputDStream เฉพาะเป็น DirectKafkaInputStream เป็นต้น
(2) คลาส Conversion โดยทั่วไปคือ 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 เท่านั้น คุณสามารถอนุญาตให้ผู้ใช้ดำเนินการจัดเก็บข้อมูลที่เกี่ยวข้อง การคำนวณอื่นๆ และการดำเนินการอื่นๆ