Mapreduce ใน Big Data: ภาพรวม ฟังก์ชัน & ความสำคัญ

เผยแพร่แล้ว: 2022-07-15

สารบัญ

บิ๊กดาต้าคืออะไร?

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

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

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

`

สำรวจหลักสูตรวิศวกรรมซอฟต์แวร์ยอดนิยมของเรา

เอสแอล. ไม่ โปรแกรมพัฒนาซอฟต์แวร์
1 วิทยาศาสตรมหาบัณฑิตสาขาวิทยาการคอมพิวเตอร์จาก LJMU & IIITB โปรแกรมใบรับรองความปลอดภัยทางไซเบอร์ของ Caltech CTME
2 Bootcamp การพัฒนาเต็มกอง โปรแกรม PG ใน Blockchain
3 Executive Post Graduate Program in Software Development - Specialization in DevOps ดูหลักสูตรวิศวกรรมซอฟต์แวร์ทั้งหมด

MapReduce คืออะไร?

MapReduce เป็นโมเดลการเขียนโปรแกรมที่มีส่วนสำคัญในการประมวลผลข้อมูลขนาดใหญ่และชุดข้อมูลขนาดใหญ่ โดยใช้อัลกอริทึมแบบกระจายขนานบนคลัสเตอร์ โปรแกรม MapReduce สามารถเขียนได้หลายภาษา เช่น C++, Java, Ruby, Python เป็นต้น ข้อได้เปรียบที่ใหญ่ที่สุดของ MapReduce คือทำให้การประมวลผลข้อมูลปรับขนาดได้ง่ายบนโหนดคอมพิวเตอร์จำนวนมาก

MapReduce และ HDFS ใช้สำหรับการจัดการข้อมูลขนาดใหญ่อย่างมีประสิทธิภาพเป็นหลัก Hadoop เรียกว่าเป็นพื้นฐานพื้นฐานของระบบ Mapreduce และ HDFS ที่เชื่อมต่อกันซึ่งรู้จักกันในชื่อระบบ HDFS-MapReduce ดังนั้นจึงไม่จำเป็นต้องบอกว่า MapReduce เป็นองค์ประกอบสำคัญของระบบนิเวศ Apache Hadoop กรอบงานของ Mapreduce มีส่วนช่วยในการปรับปรุงการประมวลผลข้อมูลในระดับใหญ่ Apache Hadoop ประกอบด้วยองค์ประกอบอื่นๆ ซึ่งรวมถึง Hadoop Distributed File System (HDFS), Apache Pig และ Yarn

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

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

MapReduce ทำงานอย่างไร

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

ด้านล่างนี้เป็นขั้นตอนต่างๆ ของ MapReduce:-

  • เฟสอินพุต : ในเฟสอินพุต ตัวอ่านบันทึกช่วยแปลแต่ละเร็กคอร์ดในไฟล์อินพุต และส่งข้อมูลที่แยกวิเคราะห์ในรูปแบบของคู่คีย์-ค่าไปยังผู้แมป
  • แผนที่: ฟังก์ชั่นแผนที่ถูกกำหนดโดยผู้ใช้ ช่วยประมวลผลชุดของคู่คีย์-ค่า และสร้างคู่คีย์-ค่าศูนย์หรือหลายคู่
  • คีย์ระดับกลาง: คู่คีย์-ค่าที่สร้างโดยผู้ทำแผนที่เรียกว่าคีย์ระดับกลาง
  • Combiner : Reducer ในพื้นที่ประเภทนี้ช่วยจัดกลุ่มข้อมูลที่คล้ายคลึงกันซึ่งสร้างขึ้นจากเฟสของแผนที่เป็นชุดที่สามารถระบุได้ เป็นส่วนเสริมของอัลกอริธึม MapReduce
  • Shuffle and Sort: งาน Reducer เริ่มต้นด้วยขั้นตอนนี้ ซึ่งจะดาวน์โหลดคู่คีย์-ค่าที่จัดกลุ่มไว้ในเครื่อง โดยที่ Reducer กำลังทำงานอยู่แล้ว คู่คีย์-ค่าจะถูกแยกออกโดยคีย์ในรายการข้อมูลที่ครอบคลุมมากขึ้น จากนั้นรายการข้อมูลจะจัดกลุ่มคีย์ที่เทียบเท่ากันเพื่อวนซ้ำค่าต่างๆ อย่างง่ายดายในงาน Reducer
  • Reducer : Reducer นำข้อมูลที่จับคู่คีย์-ค่ามาจัดกลุ่มเป็นอินพุต จากนั้นรันฟังก์ชัน Reducer กับทุกข้อมูล ที่นี่ ข้อมูลสามารถกรอง รวม และรวมข้อมูลได้หลายวิธี นอกจากนี้ยังต้องการการประมวลผลที่หลากหลาย เมื่อกระบวนการสิ้นสุดลง จะให้คู่คีย์-ค่าศูนย์หรือหลายคู่ไปยังขั้นตอนสุดท้าย
  • เฟสเอาต์พุต: ในเฟสนี้มีตัวจัดรูปแบบเอาต์พุตที่แปลคู่คีย์-ค่าสุดท้ายจากฟังก์ชัน Reducer และเขียนลงในไฟล์โดยใช้ตัวเขียนบันทึก

MapReduce เกิดขึ้นในสามขั้นตอน:-

ด่านที่ 1 : ด่านแผนที่

สเตจที่ 2 : สเตจสับเปลี่ยน

ระยะที่ 3 : ระยะลด

ตัวอย่างเพื่อช่วยให้เข้าใจขั้นตอนต่างๆ ได้ดีขึ้น นี่คือตัวอย่างของปัญหา Wordcount ที่แก้ไขโดย Mapreduce ผ่านขั้นตอนต่างๆ:-

นำข้อมูลที่ป้อนด้านล่างมาพิจารณา:-

  • แอนนา คาเรน โลล่า
  • คลาร่า คลาร่า โลล่า
  • Anna Clara Karen
  1. ข้อมูลข้างต้นถูกแยกออกเป็นสามส่วนอินพุต
  • แอนนา คาเรน โลล่า
  • คลาร่า คลาร่า โลล่า
  • Anna Clara Karen
  1. ในขั้นต่อไป ข้อมูลนี้จะถูกป้อนเข้าสู่เฟสถัดไป ซึ่งเรียกว่าเฟสการทำแผนที่

พิจารณาบรรทัดแรก (Anna Karen Lola) เราได้รับคู่คีย์-ค่าสามคู่ – Anna, 1; กะเหรี่ยง 1; โลล่า 1

คุณจะพบผลลัพธ์ในขั้นตอนการทำแผนที่ด้านล่าง:-

  • แอนนา1
    กะเหรี่ยง1
    โลล่า1
  • คลาร่า1
    คลาร่า1
    โลล่า1
  • แอนนา1
    คลาร่า1
    กะเหรี่ยง1
  1. ข้อมูลดังกล่าวจะถูกป้อนเข้าสู่เฟสต่อไป ระยะนี้เรียกว่าระยะการเรียงลำดับและสับเปลี่ยน ข้อมูลในเฟสนี้จะถูกจัดกลุ่มเป็นคีย์เฉพาะและจัดเรียงเพิ่มเติม คุณจะพบผลลัพธ์ของขั้นตอนการเรียงลำดับและสับเปลี่ยน:
  • โลล่า,(1,1)
  • กะเหรี่ยง(1,1)
  • แอนนา(1,1)
  • คลาร่า(1,1,1)
  1. ข้อมูลข้างต้นจะถูกป้อนเข้าสู่เฟสถัดไป ซึ่งเรียกว่าเฟสลด

ค่าคีย์ทั้งหมดถูกรวมไว้ที่นี่ และนับจำนวน 1 วินาที

ด้านล่างนี้เป็นผลในการลดเฟส:

  • โลล่า2
  • กะเหรี่ยง2
  • แอนนา2
  • คลาร่า3

อ่านบทความยอดนิยมของเราเกี่ยวกับการพัฒนาซอฟต์แวร์

วิธีการใช้ Data Abstraction ใน Java? Inner Class ใน Java คืออะไร? ตัวระบุ Java: คำจำกัดความ ไวยากรณ์ และตัวอย่าง
ทำความเข้าใจการห่อหุ้มใน OOPS ด้วยตัวอย่าง อาร์กิวเมนต์บรรทัดคำสั่งใน C อธิบาย คุณสมบัติและลักษณะเด่น 10 อันดับแรกของคลาวด์คอมพิวติ้งในปี 2022
ความหลากหลายใน Java: แนวคิด ประเภท ลักษณะและตัวอย่าง แพ็คเกจใน Java และวิธีใช้งาน บทช่วยสอน Git สำหรับผู้เริ่มต้น: เรียนรู้ Git ตั้งแต่เริ่มต้น

ทำไมต้องเลือก MapReduce?

ในรูปแบบการเขียนโปรแกรมสำหรับเขียนแอปพลิเคชัน MapReduce เป็นหนึ่งในเครื่องมือที่ดีที่สุดสำหรับการประมวลผลข้อมูลขนาดใหญ่แบบคู่ขนานบนหลายโหนด ข้อดีอื่นๆ ของการใช้ MapReduce มีดังนี้:-

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

บทสรุป

บิ๊กดาต้าเป็นส่วนสำคัญของชีวิตเรา เนื่องจากบริษัทยักษ์ใหญ่ที่เศรษฐกิจเฟื่องฟูอาศัยบิ๊กดาต้าดังกล่าว วันนี้เป็นหนึ่งในตัวเลือกอาชีพที่ทำกำไรได้มากที่สุดที่สามารถเลือกได้

หากคุณต้องการลงทะเบียนเรียนหลักสูตร Advanced Certificate Program ที่เชื่อถือได้ใน Big Data ไม่ต้องมองหาที่ไหนอีกแล้ว upGrad มีหลักสูตรที่ดีที่สุดที่คุณจะเจอ คุณจะได้เรียนรู้ทักษะระดับมืออาชีพชั้นนำ เช่น การประมวลผลข้อมูลด้วย PySpark, คลังข้อมูล, MapReduce, การประมวลผลข้อมูลขนาดใหญ่บนคลาวด์, การประมวลผลแบบเรียลไทม์ และอื่นๆ

ตัวแบ่งพาร์ติชั่นคืออะไรและใช้งานอย่างไร?

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

การกำหนดค่าหลักที่ระบุใน MapReduce คืออะไร

MapReduce ต้องการตำแหน่งอินพุตและเอาต์พุตของงานในระบบไฟล์แบบกระจาย Hadoop และรูปแบบของงาน โปรแกรมเมอร์ MapReduce ยังต้องจัดเตรียมพารามิเตอร์ของคลาสที่มีแผนที่และฟังก์ชันลด MapReduce ยังต้องการให้กำหนดค่าไฟล์ .JAR สำหรับคลาสตัวลด ไดรเวอร์ และตัวแมป

chain mapper และตัวทำแผนที่ใน MapReduce คืออะไร

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