MapReduce ใน Hadoop: เฟส อินพุตและเอาต์พุต ฟังก์ชัน & ข้อดี

เผยแพร่แล้ว: 2020-12-24

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

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

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

สารบัญ

อินพุตและเอาต์พุต

โมเดล MapReduce ทำงานบนคู่ <คีย์ ค่า> มันมองว่าอินพุตของงานเป็นชุดของคู่ <key, value> และสร้างคู่ <key, value> ชุดอื่นเป็นเอาต์พุตของงาน การป้อนข้อมูลได้รับการสนับสนุนโดยสองคลาสในเฟรมเวิร์กนี้ ได้แก่ InputFormat และ RecordReader

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

เฟสของ MapReduce คืออะไร?

ใน MapReduce ข้อมูลจะผ่านขั้นตอนต่อไปนี้

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

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

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

ลด: ค่าทั้งหมดจากเฟสสับเปลี่ยนจะถูกรวมเข้าด้วยกันและส่งคืนค่าเอาต์พุตเดียว ดังนั้นการสรุปชุดข้อมูลทั้งหมด

อ่านเพิ่มเติม: Mapreduce คำถามและคำตอบในการสัมภาษณ์

การจัดระเบียบ MapReduce ทำงานอย่างไร

Hadoop แบ่งงานออกเป็นสองส่วน งานแผนที่ซึ่งรวมถึงการแยกและการทำแผนที่ และลดงานซึ่งรวมถึงการสับเปลี่ยนและการลดขนาด สิ่งเหล่านี้ถูกกล่าวถึงในขั้นตอนในส่วนข้างต้น การดำเนินการของงานเหล่านี้ถูกควบคุมโดยสองเอนทิตีที่เรียกว่า JobTracker และ Multiple Task tracker

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

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

ข้อดีของ MapReduce

มีข้อดีหลายประการสำหรับแอปพลิเคชันที่ใช้โมเดลนี้ เหล่านี้คือ

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

ต้องอ่าน: Mapreduce กับ Apache Spark

บทสรุป

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

คำอธิบายโดยละเอียดของขั้นตอนต่างๆ ที่เกี่ยวข้องในกรอบงาน MapReduce ที่แสดงรายละเอียดว่างานได้รับการจัดระเบียบอย่างไร รายการข้อดีของการใช้ MapReduce สำหรับแอปพลิเคชันให้ภาพที่ชัดเจนของการใช้งานและความเกี่ยวข้อง

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

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

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

โปรแกรมประกาศนียบัตรขั้นสูงด้าน Big Data จาก IIIT Bangalore