MapReduce

ผู้เขียน: Louise Ward
วันที่สร้าง: 9 กุมภาพันธ์ 2021
วันที่อัปเดต: 28 มิถุนายน 2024
Anonim
What is MapReduce?
วิดีโอ: What is MapReduce?

เนื้อหา

คำจำกัดความ - MapReduce หมายถึงอะไร?

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


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

MapReduce ทำงานบนกลุ่มสินค้าขนาดใหญ่และปรับขนาดได้อย่างมาก มันมีหลายรูปแบบของการใช้งานโดยหลายภาษาโปรแกรมเช่น Java, C # และ C ++

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

Techopedia อธิบาย MapReduce

กรอบการทำงานของ MapReduce มีสองส่วนดังนี้

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

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


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

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

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

MapReduce ใช้ใน grep แบบกระจาย, การกระจายแบบกระจาย, การกลับรายการลิงค์ของกราฟ, สถิติการเข้าใช้งานเว็บ, การจัดกลุ่มเอกสาร, การเรียนรู้ของเครื่องและการแปลด้วยเครื่องทางสถิติ