MapReduce คืออะไร เกี่ยวข้องกับ Hadoop หรือ Big Data ยังไง  สร้างคำถาม

 8,391 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 07/02/2017

MapReduce คืออะไร เกี่ยวข้องกับ Hadoop หรือ Big Data ยังไง

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

โดยที่ผู้ใช้งานนั้นไม่ต้องสนใจเบื้องหลังการทำงานเช่น
parallelization, data distribution, loads balancing และ fault tolerance
ในการทำงานแล้วผู้ใช้งาน MapReduce จะสนใจแค่ส่วนของ Map และส่วนของ Reduce เท่านั้น

ซึ่ง Map จะทำการจับคู่ของ Key/Value ที่เราต้องการ แล้วก็จะส่งไปให้ Reduce ทำการประมวลผลเพื่อให้ได้ผลลัพธ์ที่ต้องการ
อ่านดูแล้วก็มี งงๆ บ้างอ่ะนะ มาดูตัวอย่างการทำ Map/Reduce กันเลยละกัน ยกตัวอย่างเช่นเรามี ข้อมูล เป็น text ลักษณะแบบนี้

1001201220 1002201230 1003201310 100420139

Function Map ทำหน้าที่ในการจัดเตรียมข้อมูลก่อนที่จะทำการ Reduce โดยขั้นตอนแรกจะหาคู่ Key กับ Value ก่อน
Input เข้า function Map จะเป็ดังนี้
1:1001201220
2:1002201230
3:1003201310
4:1004201309


Function Map ทำการ Map Key กับ Value ได้ดังนี้
2012:20
2012:30
2013:10
2013:9
จากนั้น Function ของ Framework จะทำการ จัดเรียงให้เป็นหน้า Output แบบนี้
2012:[20,30]
2013:[9,10]


จากนั้นก็จะเข้าสู่ขั้นตอนของการทำ Reduce โดยมี Input ตามนี้
2012:[20,30]
2013:[9,10]


สมมุติเราจะหาค่าต่ำสุดของแต่ละปี ตอนนี้ก็ไม่ยากแระเพราะขั้นตอนการ Map
ได้ช่วยเราไว้เยอะแระ Output ที่ได้ก็จะเป็น
2012:20
2013:9

อย่าลืมว่านี่คือแค่ตัวอย่างอ่ะนะครับ ความจริงแล้ว Data ที่เข้ามานั้นมัน มหาศาลมากๆ
ตอนนี้มี Frame work ที่ทำงานด้านนี้โดยเฉพาะหลายตัวเช่น
Hadoop ทำหน้าที่จัดการข้อมูล Big Data
มีจุดเด่นที่การกระจายการทำงาน Map , Reduce


ถ้าชอบบทความนี้ กด Like เลย :MapReduce คืออะไร เกี่ยวข้องกับ Hadoop หรือ Big Data ยังไง
TAGS : Big Data   Hadoop   Map Reduce   เขียนโปรแกรม   Java  
 8,391 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 07/02/2017



SOA,Java,XSLT

 ร่วมแสดงความคิดเห็นได้ที่นี่

#3.    Hadoop
@ ขอบคุณครับ

...............................................
#2.    I'am The Flash
@ บ่ดี

...............................................
#1.    เอก
@ ขอบคุณครับ

...............................................



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

เนื้อหาที่เกี่ยวช้อง

  MEAN Stack กับ LAMP Stack คืออะไรครับ ถามเมื่อ (2015-09-29)   1,381 views  (ดูล่าสุดเมื่อ 9 นาที)

  ต่อสายusb samsung gt c3222ไม่ได้ ถามเมื่อ (2014-06-26)   1,881 views  (ดูล่าสุดเมื่อ 23 นาที)

  PHP Codeigniter วิธี get Pimarykey แบบ auto increment หลังจากการ Save ล่าสุด ถามเมื่อ (2017-06-12)   644 views  (ดูล่าสุดเมื่อ 47 นาที)

  ขอตัวอย่าง Hibernate get Sequenc Oracle โดยไม่ต้อง Mapping ครับ ถามเมื่อ (2013-07-04)   1,894 views  (ดูล่าสุดเมื่อ 59 นาที)

  AngularJS คือ อะไร อยากรู้ตามมาดูได้ที่นี่ ถามเมื่อ (2019-06-01)   1,233 views  (ดูล่าสุดเมื่อ 68 นาที)

  คำสั่ง Unix VI เบื้องต้น รู้คร่าวๆ พอให้แก้ปัญหาเฉพาะหน้าได้นะ ถามเมื่อ (2018-04-24)   1,091 views  (ดูล่าสุดเมื่อ 72 นาที)

  Java script parseInt ขึ้นต้นด้วยเลข 0 ทำอย่างไร ถามเมื่อ (2015-12-29)   822 views  (ดูล่าสุดเมื่อ 79 นาที)

  ลง Apserv แล้วค้างตรง service mysql ถามเมื่อ (2018-07-22)   883 views  (ดูล่าสุดเมื่อ 82 นาที)

  IDE ยอดนิยมในการเขียน Code ภาษาJava คือตัวใหนครับ ถามเมื่อ (2015-08-28)   1,038 views  (ดูล่าสุดเมื่อ 86 นาที)

  ขอแหล่งความรู้ Java ครับ เว็บไซต์ หรือ blog ก็ได้ ถามเมื่อ (2013-02-22)   1,835 views  (ดูล่าสุดเมื่อ 86 นาที)


 

บ้านเดียวกันดอทคอม เว็บถามตอบ รวมทุกเรื่องที่คุณอยากรู้ ให้ความรู้ ความบันเทิง มีสาระ
www.ban1gun.com