บทแนะนำการสตรีม Apache Spark สำหรับผู้เริ่มต้นใช้งาน: การทำงาน สถาปัตยกรรม และคุณลักษณะ

เผยแพร่แล้ว: 2020-02-27

เรากำลังอาศัยอยู่ในโลกที่มีการสร้างข้อมูลจำนวนมหาศาลทุกวินาทีในอัตราที่รวดเร็ว ข้อมูลนี้สามารถให้ผลลัพธ์ที่มีความหมายและมีประโยชน์หากวิเคราะห์อย่างถูกต้อง นอกจากนี้ยังสามารถนำเสนอโซลูชั่นให้กับอุตสาหกรรมต่างๆ ได้ในเวลาที่เหมาะสม

สิ่งเหล่านี้มีประโยชน์มากในอุตสาหกรรมต่างๆ เช่น บริการด้านการเดินทาง การค้าปลีก สื่อ การเงิน และการดูแลสุขภาพ บริษัทชั้นนำอื่นๆ หลายแห่งได้นำการวิเคราะห์ข้อมูลมาใช้ เช่น การติดตามการโต้ตอบของลูกค้ากับผลิตภัณฑ์ประเภทต่างๆ ที่ทำโดย Amazon บนแพลตฟอร์มของตน หรือผู้ดูที่ได้รับคำแนะนำส่วนบุคคลแบบเรียลไทม์ ซึ่งให้บริการโดย Netflix

สามารถใช้โดยธุรกิจใดก็ได้ที่ใช้ข้อมูลจำนวนมาก และสามารถวิเคราะห์เพื่อประโยชน์ของตนเพื่อปรับปรุงกระบวนการโดยรวมในธุรกิจของตน และเพื่อเพิ่มความพึงพอใจของลูกค้าและประสบการณ์ของผู้ใช้ ประสบการณ์ผู้ใช้ที่ดีขึ้นและความพึงพอใจของลูกค้าจะเป็นประโยชน์ต่อองค์กรในระยะยาวเพื่อขยายธุรกิจและสร้างผลกำไร

สารบัญ

สตรีมมิ่งคืออะไร?

การสตรีมข้อมูลเป็นวิธีการที่ข้อมูลถูกถ่ายโอนแบบต่อเนื่องและต่อเนื่อง ในขณะที่อินเทอร์เน็ตเติบโตขึ้น เทคโนโลยีการสตรีมก็เพิ่มขึ้นเช่นกัน

Spark Streaming คืออะไร?

เมื่อข้อมูลมาถึงอย่างต่อเนื่องเป็นลำดับที่ไม่ผูกมัด จะเรียกว่ากระแสข้อมูล ข้อมูลอินพุตไหลอย่างต่อเนื่องและแบ่งออกด้วยการสตรีม การประมวลผลข้อมูลเพิ่มเติมจะทำหลังจากแบ่งออกเป็นหน่วยที่ไม่ต่อเนื่อง การวิเคราะห์ข้อมูลและการประมวลผลข้อมูลที่เวลาแฝงต่ำเรียกว่าการประมวลผลสตรีม

ในปี 2013 เพิ่ม Apache Spark ด้วย Spark Streaming มีหลายแหล่งที่มาที่การนำเข้าข้อมูลสามารถเกิดขึ้นได้ เช่น TCP Sockets, Amazon Kinesis, Apache Flume และ Kafka ด้วยความช่วยเหลือของอัลกอริธึมที่ซับซ้อน การประมวลผลข้อมูลจึงเสร็จสิ้น ฟังก์ชันระดับสูง เช่น หน้าต่าง เข้าร่วม ลดขนาด และแผนที่ ใช้เพื่อแสดงการประมวลผล แดชบอร์ดสด ฐานข้อมูล และระบบไฟล์ใช้เพื่อส่งข้อมูลที่ประมวลผลไปยังระบบไฟล์

การทำงานของ Stream

ต่อไปนี้เป็นงานภายใน การสตรีม Spark แบ่งสตรีมข้อมูลอินพุตสดออกเป็นแบทช์ Spark Engine ใช้ในการประมวลผลแบทช์เหล่านี้เพื่อสร้างชุดสตรีมสุดท้ายเป็นผล

ข้อมูลในสตรีมแบ่งออกเป็นแบทช์เล็กๆ และแสดงโดย Apache Spark Discretized Stream (Spark DStream) Spark RDD ถูกใช้เพื่อสร้าง DStreams และนี่คือข้อมูลที่เป็นนามธรรมของ Spark ส่วนประกอบใดๆ ของ Apache Spark เช่น Spark SQL และ Spark MLib สามารถรวมเข้ากับ Spark Streaming ได้อย่างราบรื่น

Spark Streaming ช่วยในการปรับขนาดสตรีมข้อมูลสด เป็นหนึ่งในส่วนขยายของ Core Spark API นอกจากนี้ยังช่วยให้สามารถประมวลผลสตรีมที่ทนต่อข้อผิดพลาดและปริมาณงานสูงได้ การใช้ Spark Streaming ทำการประมวลผลตามเวลาจริงและการสตรีมข้อมูลสด บริษัทชั้นนำชั้นนำของโลกใช้บริการ Spark Streaming เช่น Pinterest, Netflix และ Uber

Spark Streaming ยังให้การวิเคราะห์ข้อมูลแบบเรียลไทม์ การประมวลผลข้อมูลแบบสดและรวดเร็วนั้นดำเนินการบนแพลตฟอร์มเดียวของ Spark Streaming

อ่าน Apache Spark Architecture . ด้วย

ทำไมต้อง Spark Streaming?

Spark Streaming สามารถใช้ในการสตรีมข้อมูลแบบเรียลไทม์จากแหล่งต่างๆ เช่น Facebook, Stock Market และระบบ Geographical และดำเนินการวิเคราะห์ที่มีประสิทธิภาพเพื่อส่งเสริมธุรกิจ

Spark Streaming มีแง่มุมที่สำคัญห้าประการซึ่งทำให้มีความพิเศษเฉพาะตัว ดังนี้:

1. บูรณาการ

ไลบรารีขั้นสูง เช่น การประมวลผลกราฟ แมชชีนเลิร์นนิง SQL สามารถรวมเข้ากับมันได้อย่างง่ายดาย

2. การรวมกัน

ข้อมูลที่กำลังได้รับการสตรีมสามารถทำได้ร่วมกับการสืบค้นแบบโต้ตอบและชุดข้อมูลแบบคงที่

3. โหลดบาลานซ์

Spark Streaming มีการโหลดที่สมดุลอย่างสมบูรณ์แบบ ซึ่งทำให้มีความพิเศษมาก

4. การใช้ทรัพยากร

Spark Streaming ใช้ทรัพยากรที่มีอยู่อย่างดีที่สุด

5. การฟื้นตัวจากการพลัดหลงและความล้มเหลว

Spark Streaming สามารถกู้คืนได้อย่างรวดเร็วจากความล้มเหลวหรือผู้หลงทางทุกประเภท

ต้องการการสตรีมใน Apache Spark

โมเดลตัวดำเนินการแบบต่อเนื่องถูกใช้ในขณะที่ออกแบบระบบสำหรับการประมวลผลสตรีมแบบดั้งเดิมเพื่อประมวลผลข้อมูล การทำงานของระบบมีดังนี้

  1. แหล่งข้อมูลใช้เพื่อสตรีมข้อมูล แหล่งข้อมูลประเภทต่างๆ ได้แก่ อุปกรณ์ IoT ข้อมูลระบบ telemetry บันทึกสดและอื่น ๆ อีกมากมาย ข้อมูลการสตรีมเหล่านี้นำเข้ามาในระบบการนำเข้าข้อมูล เช่น Amazon Kinesis, Apache Kafka และอื่นๆ อีกมากมาย
  2. บนคลัสเตอร์ การประมวลผลแบบขนานเสร็จสิ้นกับข้อมูล
  3. ระบบปลายน้ำเช่น Kafka, Cassandra, HBase ใช้เพื่อผ่านผลลัพธ์

ชุดของโหนดผู้ปฏิบัติงานเรียกใช้ตัวดำเนินการต่อเนื่องบางตัว การประมวลผลบันทึกข้อมูลที่สตรีมจะทำทีละรายการ เอกสารจะถูกส่งต่อไปยังโอเปอเรเตอร์ถัดไปในไปป์ไลน์

ตัวดำเนินการต้นทางใช้สำหรับรับข้อมูลจากระบบการนำเข้า Sink Operators ใช้สำหรับให้เอาต์พุตไปยังระบบดาวน์สตรีม

โอเปอเรเตอร์บางตัวต่อเนื่องกัน นี่เป็นแบบจำลองที่เป็นธรรมชาติและตรงไปตรงมา เมื่อพูดถึงการวิเคราะห์ข้อมูลที่ซับซ้อนแบบเรียลไทม์ ซึ่งดำเนินการในวงกว้าง สถาปัตยกรรมดั้งเดิมต้องเผชิญกับความท้าทายในโลกสมัยใหม่ ได้แก่:

การกู้คืนความล้มเหลวอย่างรวดเร็ว

ในความล้มเหลวของระบบในปัจจุบันจะตามมาอย่างรวดเร็วและรองรับด้วยการกู้คืนข้อมูลที่สูญหายโดยการคำนวณข้อมูลที่ขาดหายไปในโหนดแบบขนาน จึงทำให้กู้คืนได้เร็วยิ่งขึ้นเมื่อเทียบกับระบบแบบเดิม

โหลดบาลานเซอร์

ตัวโหลดบาลานซ์ช่วยจัดสรรทรัพยากรและข้อมูลระหว่างโหนดในลักษณะที่มีประสิทธิภาพมากขึ้นเพื่อไม่ให้ทรัพยากรรอหรือไม่ทำอะไรเลยนอกจากข้อมูลจะกระจายทั่วโหนดอย่างสม่ำเสมอ

การรวมปริมาณงานเชิงโต้ตอบ แบทช์ และการสตรีม

คุณยังสามารถโต้ตอบกับข้อมูลการสตรีมโดยทำการสอบถามข้อมูลการสตรีม นอกจากนี้ยังสามารถใช้ร่วมกับชุดข้อมูลแบบคงที่ได้อีกด้วย ไม่สามารถทำแบบสอบถามเฉพาะกิจโดยใช้โอเปอเรเตอร์ใหม่ได้ เนื่องจากไม่ได้ออกแบบมาสำหรับโอเปอเรเตอร์แบบต่อเนื่อง แบบสอบถามแบบโต้ตอบ การสตรีม และแบบกลุ่มสามารถรวมกันได้โดยใช้เครื่องมือเดียว

แบบสอบถาม SQL และการวิเคราะห์ด้วย ML

การพัฒนาระบบด้วยคำสั่งฐานข้อมูลร่วมกันทำให้ชีวิตของนักพัฒนาง่ายต่อการทำงานร่วมกับระบบอื่นๆ ชุมชนยอมรับการสืบค้น SQL อย่างกว้างขวาง ที่ระบบจัดเตรียมโมดูลและไลบรารีสำหรับการเรียนรู้ของเครื่องที่สามารถใช้เพื่อการวิเคราะห์ขั้นสูงได้

ภาพรวมการสตรีม Spark

Spark Streaming ใช้ชุด RDD ซึ่งใช้ในการประมวลผลข้อมูลแบบเรียลไทม์ ดังนั้นโดยทั่วไป Spark Streaming จึงถูกใช้โดยทั่วไปสำหรับการจัดการสตรีมข้อมูลแบบเรียลไทม์ Spark Streaming ให้การประมวลผลสตรีมข้อมูลสดที่ทนทานต่อข้อผิดพลาดและปริมาณงานสูง เป็นคุณสมบัติพิเศษที่มาพร้อมกับ core spark API

คุณสมบัติสตรีมมิ่ง Spark

  1. การวิเคราะห์ธุรกิจ : ด้วยการใช้ Spark Streaming เรายังสามารถเรียนรู้พฤติกรรมของผู้ชมได้อีกด้วย การเรียนรู้เหล่านี้สามารถนำมาใช้ในการตัดสินใจทางธุรกิจได้ในภายหลัง
  2. บูรณาการ: การประมวลผลแบบ เรียลไทม์และแบบแบตช์ถูกรวมเข้ากับ Spark
  3. Fault Tolerance – ความสามารถพิเศษของ Spark คือสามารถกู้คืนจากความล้มเหลวได้อย่างมีประสิทธิภาพ
  4. ความเร็ว: ความหน่วงแฝงต่ำทำได้โดย Spark
  5. Scaling: โหนดสามารถปรับขนาดได้อย่างง่ายดายถึงหลายร้อยโดย Spark

Spark Streaming Fundamentals

1. บริบทการสตรีม

ใน Spark สตรีมข้อมูลถูกใช้และจัดการโดยบริบทการสตรีม มันสร้างวัตถุของตัวรับซึ่งผลิตขึ้นโดยการลงทะเบียนการสตรีมอินพุต ดังนั้นจึงเป็นฟังก์ชันหลักของ Spark ที่กลายเป็นจุดเริ่มต้นที่สำคัญต่อระบบ เนื่องจากมีบริบทมากมายที่ให้เวิร์กโฟลว์เริ่มต้นสำหรับแหล่งข้อมูลต่างๆ เช่น Akka Actor, Twitter และ ZeroMQ

อ่าน: บทบาทของ Apache Spark ใน Big Data & เหตุใดจึงไม่ซ้ำกัน

อ็อบเจ็กต์บริบทแบบประกายไฟแสดงถึงการเชื่อมต่อกับคลัสเตอร์แบบประกายไฟ ที่วัตถุ Spark Streaming ถูกสร้างขึ้นโดยวัตถุ StreamingContext ตัวสะสม RDD และตัวแปรการออกอากาศก็สามารถสร้างวัตถุ SparkContex ได้เช่นกัน

2. จุดตรวจ ตัวแปรการออกอากาศ และตัวสะสม

จุดตรวจ

Checkpoint ทำงานคล้ายกับ Checkpoints ซึ่งเก็บสถานะของระบบเหมือนกับในเกม ในกรณีนี้ จุดตรวจสอบช่วยลดการสูญเสียทรัพยากรและทำให้ระบบมีความยืดหยุ่นมากขึ้นในการสลายระบบ วิธีการตรวจสอบเป็นวิธีที่ดีกว่าในการติดตามและบันทึกสถานะของระบบ เพื่อให้สามารถดึงกลับได้อย่างง่ายดายในขณะกู้คืน

ตัวแปรการออกอากาศ

แทนที่จะให้สำเนาของงานทั้งหมดไปยังโหนดเครือข่าย โหนดจะตรวจจับตัวแปรแบบอ่านอย่างเดียวเสมอซึ่งมีหน้าที่รับผิดชอบในการยอมรับโหนดของงานต่างๆ ที่มีอยู่ และช่วยลดค่าใช้จ่ายในการโอนและคำนวณโดยแต่ละโหนด จึงสามารถจัดเตรียมชุดข้อมูลเข้าที่สำคัญได้อย่างมีประสิทธิภาพมากขึ้น นอกจากนี้ยังใช้อัลกอริธึมขั้นสูงเพื่อกระจายตัวแปรการออกอากาศไปยังโหนดต่างๆ ในเครือข่าย จึงทำให้ค่าใช้จ่ายในการสื่อสารลดลง

ตัวสะสม

ตัวสะสมเป็นตัวแปรที่สามารถปรับแต่งเพื่อวัตถุประสงค์ที่แตกต่างกัน แต่ก็มีตัวสะสมที่กำหนดไว้อยู่แล้วเช่นตัวนับและตัวสะสมผลรวม นอกจากนี้ยังมีตัวสะสมการติดตามที่ติดตามแต่ละโหนดและสามารถเพิ่มคุณสมบัติพิเศษบางอย่างเข้าไปได้ ตัวสะสมตัวเลขรองรับฟังก์ชั่นดิจิตอลมากมายซึ่ง Spark รองรับเช่นกัน ผู้ใช้สามารถสร้าง Accumulators ที่กำหนดขึ้นเองได้

DStream

DStream หมายถึง สตรีมแบบแยกส่วน Spark Streaming นำเสนอสิ่งที่เป็นนามธรรมที่จำเป็น ซึ่งเรียกว่า Discretized Stream (DStream) DStream เป็นข้อมูลที่สตรีมอย่างต่อเนื่อง จากแหล่งข้อมูล ได้รับ DStream นอกจากนี้ยังอาจได้รับจากสตรีมของข้อมูลที่ประมวลผล การแปลงกระแสอินพุตสร้างสตรีมข้อมูลที่ประมวลผล

หลังจากช่วงเวลาที่กำหนด ข้อมูลจะอยู่ใน RDD ชุด RDD ที่ไม่มีที่สิ้นสุดแสดงถึง DStream

เก็บเอาไว้

นักพัฒนาสามารถใช้ DStream เพื่อแคชข้อมูลของสตรีมในหน่วยความจำ สิ่งนี้มีประโยชน์หากมีการคำนวณข้อมูลหลายครั้งใน DStream สามารถทำได้โดยใช้วิธี Confirm() บน DStream

มีการทำซ้ำข้อมูลเพื่อความปลอดภัยของการมีระบบที่ยืดหยุ่นซึ่งสามารถต้านทานและความล้มเหลวในระบบได้ จึงมีความสามารถในการทนต่อข้อผิดพลาดในระบบ (เช่น Kafka, Sockets, Flume เป็นต้น)

ข้อได้เปรียบและสถาปัตยกรรมของ Spark Streaming

การประมวลผลสตรีมข้อมูลครั้งละหนึ่งสตรีมอาจยุ่งยากในบางครั้ง ดังนั้น Spark Streaming จึงแยกข้อมูลออกเป็นชุดย่อยขนาดเล็กซึ่งสามารถจัดการได้ง่าย นั่นเป็นเพราะพนักงานของ Spark ได้รับบัฟเฟอร์ของข้อมูลในแบบคู่ขนานที่รับโดย Spark Streaming ตัวรับ และด้วยเหตุนี้ทั้งระบบจึงรันแบตช์แบบขนานและสะสมผลลัพธ์สุดท้าย จากนั้นงานสั้นๆ เหล่านี้จะถูกประมวลผลเป็นชุดโดยเอ็นจิ้น Spark และผลลัพธ์จะถูกส่งไปยังระบบอื่น

ในสถาปัตยกรรม Spark Streaming การคำนวณจะไม่ถูกจัดสรรและโหลดแบบสแตติกไปยังโหนด แต่ขึ้นอยู่กับตำแหน่งข้อมูลและความพร้อมใช้งานของทรัพยากร จึงช่วยลดเวลาในการโหลดเมื่อเทียบกับระบบแบบเดิม ดังนั้นการใช้หลักการ data locality จึงง่ายกว่าสำหรับการตรวจจับข้อบกพร่องและการกู้คืน

โหนดข้อมูลใน Spark มักจะแสดงโดย RDD ซึ่งเป็นชุดข้อมูลการกระจายแบบยืดหยุ่น

เป้าหมายของ Spark Streaming

ต่อไปนี้เป็นเป้าหมายที่ทำได้โดยสถาปัตยกรรม Spark

1. ไดนามิกโหลดบาลานซ์

นี่เป็นหนึ่งในคุณสมบัติที่สำคัญของ Spark Streaming ที่สตรีมข้อมูลได้รับการจัดสรรแบบไดนามิกโดยตัวโหลดบาลานซ์ ซึ่งรับผิดชอบในการจัดสรรข้อมูลและการคำนวณทรัพยากรโดยใช้กฎเฉพาะที่กำหนดไว้ในนั้น เป้าหมายหลักของการทำโหลดบาลานซ์คือการสร้างสมดุลของปริมาณงานทั่วทั้งคนงานอย่างมีประสิทธิภาพ และวางทุกอย่างในลักษณะคู่ขนานกันเพื่อไม่ให้สิ้นเปลืองทรัพยากร และยังรับผิดชอบในการจัดสรรทรัพยากรแบบไดนามิกให้กับโหนดผู้ปฏิบัติงานในระบบ

2. ความล้มเหลวและการกู้คืน

เช่นเดียวกับระบบดั้งเดิม เมื่อเกิดความล้มเหลวในการดำเนินการ ทั้งระบบจะต้องคำนวณส่วนนั้นใหม่เพื่อรับข้อมูลที่สูญหายกลับคืนมา แต่ปัญหาเกิดขึ้นเมื่อโหนดหนึ่งจัดการการกู้คืนทั้งหมดนี้ และทำให้ทั้งระบบรอให้เสร็จสิ้น ในขณะที่ Spark ข้อมูลที่หายไปจะถูกคำนวณโดยโหนดอิสระอื่น ๆ และนำระบบกลับมาเพื่อติดตามโดยไม่ต้องรอพิเศษเหมือนในวิธีการแบบเดิม

และยังกระจายงานที่ล้มเหลวอย่างสม่ำเสมอบนโหนดทั้งหมดในระบบเพื่อคำนวณใหม่และนำกลับมาจากความล้มเหลวได้เร็วกว่าวิธีการแบบเดิม

3. แบทช์และแบบสอบถามแบบโต้ตอบ

ชุดของ RDD ใน Spark เรียกว่า DStream ใน Spark ที่ให้ความสัมพันธ์ระหว่างปริมาณงานการสตรีมและแบทช์ แบตช์เหล่านี้ถูกเก็บไว้ในหน่วยความจำของ Spark ซึ่งเป็นวิธีที่มีประสิทธิภาพในการสืบค้นข้อมูลที่มีอยู่ในนั้น

ส่วนที่ดีที่สุดของ Spark ก็คือมันรวมไลบรารีที่หลากหลายซึ่งสามารถใช้ได้เมื่อจำเป็นโดยระบบ Spark ไลบรารีชื่อไม่กี่ชื่อ ได้แก่ MLlib สำหรับการเรียนรู้ของเครื่อง, SQL สำหรับการสืบค้นข้อมูล, GraphX ​​และ Data Frame ในขณะที่ DStreams สามารถแปลง Dataframe และคำถามเป็นคำสั่ง SQL ที่เทียบเท่ากันได้

4. ประสิทธิภาพ

เนื่องจากระบบจุดประกายใช้การกระจายงานแบบขนานซึ่งปรับปรุงความสามารถในการรับส่งข้อมูล และใช้ประโยชน์จากเครื่องยนต์ประกายไฟที่สามารถบรรลุความหน่วงแฝงที่ต่ำถึง 100 มิลลิวินาทีเพียงไม่กี่วินาที

Spark Streaming ทำงานอย่างไร?

ข้อมูลในสตรีมแบ่งออกเป็นกลุ่มเล็กๆ ซึ่งเรียกว่า DStreams ใน Spark Streaming เป็นลำดับของ RDD ภายใน Spark APIs ถูกใช้โดย RDDS เพื่อประมวลผลข้อมูลและการจัดส่งจะถูกส่งคืนตามผลลัพธ์ API ของ Spark Streaming มีอยู่ใน Python, Java และ Scala ขาดคุณสมบัติหลายอย่างใน Python API ที่เพิ่งเปิดตัวใน Spark 1.2

การคำนวณแบบเก็บสถานะเรียกว่าสถานะที่ดูแลโดย Spark Streaming ตามข้อมูลขาเข้าในสตรีม ข้อมูลที่ไหลในสตรีมจะได้รับการประมวลผลภายในกรอบเวลา ผู้พัฒนากำหนดกรอบเวลานี้ และ Spark Streaming อนุญาต กรอบเวลาคือกรอบเวลาที่งานควรจะแล้วเสร็จ กรอบเวลาจะอัปเดตภายในช่วงเวลาที่เรียกอีกอย่างว่าช่วงเวลาเลื่อนในหน้าต่าง

Spark แหล่งสตรีมมิ่ง

วัตถุตัวรับที่เกี่ยวข้องกับอินพุต DStream เก็บข้อมูลที่ได้รับใน Sparks Memory สำหรับการประมวลผล

การสตรีมในตัวมีสองประเภท:

1. แหล่งพื้นฐาน

แหล่งที่มาที่มีอยู่ใน Streaming API เช่น Socket Connection และ File System

2. แหล่งที่มาขั้นสูง

แหล่งที่มาระดับสูงคือ Kinesis, Flume & Kafka เป็นต้น

ปฏิบัติการสตรีมมิ่ง

Spark RDDS รองรับการดำเนินการสองประเภท ได้แก่:-

1. การดำเนินการเอาต์พุตใน Apache Spark

การดำเนินการเอาต์พุตใช้เพื่อผลักข้อมูลของ DStream ออกสู่ระบบภายนอก เช่น ระบบไฟล์หรือฐานข้อมูล การดำเนินการเอาต์พุตช่วยให้ระบบภายนอกใช้ข้อมูลที่แปลงแล้ว การแปลง DStreams ทั้งหมดเกิดขึ้นจริงโดยการทริกเกอร์ ซึ่งทำโดยระบบภายนอก

นี่คือการดำเนินการเอาต์พุตปัจจุบัน:

foreachRDD(func), [suffix]), saveAsHadoopFiles(prefix, [suffix]), saveAsObjectFiles(prefix, [suffix])”prefix-TIME_IN_MS[.suffix]”, saveAsTextFiles (prefix, พิมพ์ ()

RDDs ดำเนินการส่งออกอย่างเกียจคร้าน ภายในการทำงานของ DStream ของเอาต์พุต การดำเนินการ RDD จะถูกดำเนินการอย่างบังคับเพื่อประมวลผลข้อมูลที่ได้รับ การดำเนินการของ Output Operations ทำได้ทีละครั้ง แอปพลิเคชัน Spark กำหนดลำดับประสิทธิภาพของการดำเนินการส่งออก

2. การแปลงประกายไฟ

การแปลง Spark ยังเปลี่ยนข้อมูลจาก DStream เนื่องจาก RDD รองรับใน Spark เช่นเดียวกับ Spark RDD DStream รองรับการดัดแปลงมากมาย

ต่อไปนี้เป็นการดำเนินการแปลงที่พบบ่อยที่สุด:

Window(), updateStateByKey(), transform(), [numTasks]), cogroup(otherStream, [numTasks]), join(otherStream, reduceByKey(func, [numTasks]), countByValue(), reduce(), union(otherStream ), นับ (), การแบ่งพาร์ติชันใหม่ (numPartitions), ตัวกรอง (), flatMap (), แผนที่ ()

บทสรุป

ในปัจจุบัน เครื่องมือในโลกที่ขับเคลื่อนด้วยข้อมูลในการจัดเก็บและวิเคราะห์ข้อมูลได้พิสูจน์แล้วว่าเป็นปัจจัยสำคัญในการวิเคราะห์และการเติบโตของธุรกิจ บิ๊กดาต้าและเครื่องมือและเทคโนโลยีที่เกี่ยวข้องได้รับการพิสูจน์แล้วว่ามีความต้องการเพิ่มขึ้น ดังนั้น Apache Spark จึงมีตลาดที่ยอดเยี่ยมและนำเสนอคุณสมบัติที่ยอดเยี่ยมให้กับลูกค้าและธุรกิจ

หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับ Big Data โปรดดูที่ PG Diploma in Software Development Specialization in Big Data program ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 7 กรณี ครอบคลุมภาษาและเครื่องมือในการเขียนโปรแกรม 14 รายการ เวิร์กช็อป ความช่วยเหลือด้านการเรียนรู้และจัดหางานอย่างเข้มงวดมากกว่า 400 ชั่วโมงกับบริษัทชั้นนำ

เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

เป็นผู้นำการปฏิวัติเทคโนโลยีที่ขับเคลื่อนด้วยข้อมูล

การเรียนรู้มากกว่า 400 ชั่วโมง 14 ภาษาและเครื่องมือ สถานะศิษย์เก่า IIIT-B
โปรแกรมประกาศนียบัตรขั้นสูงด้าน Big Data จาก IIIT Bangalore