![What is MapReduce?](https://i.ytimg.com/vi/43fqzaSH0CQ/hqdefault.jpg)
เนื้อหา
- คำจำกัดความ - MapReduce หมายถึงอะไร?
- ข้อมูลเบื้องต้นเกี่ยวกับ Microsoft Azure และ Microsoft Cloud | ในคู่มือนี้คุณจะได้เรียนรู้ว่าการประมวลผลแบบคลาวด์คืออะไรและ Microsoft Azure สามารถช่วยคุณในการโยกย้ายและดำเนินธุรกิจจากคลาวด์อย่างไร
- Techopedia อธิบาย MapReduce
คำจำกัดความ - MapReduce หมายถึงอะไร?
MapReduce เป็นรูปแบบการเขียนโปรแกรมที่แนะนำโดย Google สำหรับการประมวลผลและสร้างชุดข้อมูลขนาดใหญ่ในกลุ่มคอมพิวเตอร์
Google กำหนดเฟรมเวิร์กเป็นครั้งแรกเพื่อจุดประสงค์ในการแสดงดัชนีหน้าเว็บของ Google และเฟรมเวิร์กใหม่แทนที่อัลกอริทึมการทำดัชนีก่อนหน้านี้ ผู้พัฒนาระดับเริ่มต้นพบว่ากรอบ MapReduce มีประโยชน์เพราะรูทีนไลบรารีสามารถใช้ในการสร้างโปรแกรมแบบขนานโดยไม่ต้องกังวลเกี่ยวกับการสื่อสารแบบอินฟาคลัสเตอร์การตรวจสอบงานหรือกระบวนการจัดการความล้มเหลว
MapReduce ทำงานบนกลุ่มสินค้าขนาดใหญ่และปรับขนาดได้อย่างมาก มันมีหลายรูปแบบของการใช้งานโดยหลายภาษาโปรแกรมเช่น Java, C # และ C ++
ข้อมูลเบื้องต้นเกี่ยวกับ Microsoft Azure และ Microsoft Cloud | ในคู่มือนี้คุณจะได้เรียนรู้ว่าการประมวลผลแบบคลาวด์คืออะไรและ Microsoft Azure สามารถช่วยคุณในการโยกย้ายและดำเนินธุรกิจจากคลาวด์อย่างไร
Techopedia อธิบาย MapReduce
กรอบการทำงานของ MapReduce มีสองส่วนดังนี้
- ฟังก์ชั่นที่เรียกว่า "แผนที่" ซึ่งอนุญาตให้มีจุดต่าง ๆ ของคลัสเตอร์แบบกระจายเพื่อแจกจ่ายงานของพวกเขา
- ฟังก์ชั่นที่เรียกว่า "ลดขนาด" ซึ่งถูกออกแบบมาเพื่อลดผลลัพธ์สุดท้ายของคลัสเตอร์เป็นหนึ่งเอาต์พุต
ข้อได้เปรียบหลักของกรอบการทำงานของ MapReduce คือการยอมรับความผิดพลาดซึ่งคาดว่าจะมีการรายงานเป็นระยะจากแต่ละโหนดในคลัสเตอร์เมื่องานเสร็จสมบูรณ์
งานถูกถ่ายโอนจากโหนดหนึ่งไปอีกโหนดหนึ่ง หากโหนดหลักสังเกตว่าโหนดเงียบในช่วงเวลาที่นานกว่าที่คาดไว้โหนดหลักจะดำเนินการกระบวนการกำหนดใหม่ให้กับงานที่ถูกแช่แข็ง / ล่าช้า
กรอบการทำงานของ MapReduce ได้รับแรงบันดาลใจจากฟังก์ชั่น "แผนที่" และ "ลด" ที่ใช้ในการโปรแกรมการทำงาน การประมวลผลเชิงคำนวณเกิดขึ้นกับข้อมูลที่เก็บไว้ในระบบไฟล์หรือภายในฐานข้อมูลซึ่งใช้ชุดของค่าคีย์อินพุตและสร้างชุดของค่าคีย์เอาต์พุต
ในแต่ละวันโปรแกรม MapReduce จำนวนมากและงาน MapReduce ถูกดำเนินการบนกลุ่ม Googles โปรแกรมจะถูกขนานและดำเนินการโดยอัตโนมัติในกลุ่มสินค้าโภคภัณฑ์ขนาดใหญ่ ระบบรันไทม์เกี่ยวข้องกับการแบ่งพาร์ติชันข้อมูลอินพุตการกำหนดตารางเวลาการเรียกใช้งานโปรแกรมในชุดของเครื่องจักรการจัดการกับความล้มเหลวของเครื่องและการจัดการการสื่อสารระหว่างเครื่องที่จำเป็น โปรแกรมเมอร์ที่ไม่มีประสบการณ์กับระบบแบบขนานและแบบกระจายสามารถใช้ทรัพยากรของระบบแบบกระจายขนาดใหญ่ได้อย่างง่ายดาย
MapReduce ใช้ใน grep แบบกระจาย, การกระจายแบบกระจาย, การกลับรายการลิงค์ของกราฟ, สถิติการเข้าใช้งานเว็บ, การจัดกลุ่มเอกสาร, การเรียนรู้ของเครื่องและการแปลด้วยเครื่องทางสถิติ