หลักการทำงานของ MapReduce และตัวอย่างการใช้

มีโอกาสได้เริ่มอ่านหนังสือ Hadoop: The Definitive Guide เขียนโดย Tom White แบบจริงๆ จังๆ เพราะในอนาคตจะได้ใช้แน่ๆ กะว่าอ่านไปแล้วก็มาเขียนบล็อกแปลไปจะได้เข้าใจได้มากขึ้น โพสต์นี้จะกล่าวถึงหลัการทำงาน และตัวอย่างการใช้ MapReduce เพื่อประมวลผลข้อมูลจำนวนมหาศาล

MapReduce คือ programming model ที่จะแบ่งส่วนการทำงานเป็น 2 ขั้นตอน คือ ขั้นตอน map และ ขั้นตอน reduce โดยแต่ละขั้นตอนจะมีคู่ key-value เป็น input และ output ซึ่งเราจะเป็นคนกำหนดเอง ส่วนนี้อาจจะต้องอาศัยประสบการณ์เล็กน้อย และความเข้าใจในข้อมูลนั้นๆ ถึงจะออกแบบคู่ key-value ในแต่ละขั้นออกมาได้ สำหรับคนที่ยังมองไม่ออกก็ไม่เป็นไร ค่อยๆ ศึกษาไปเรื่อยๆ เดี๋ยวจะรู้เองครับว่าเราควรจะออกแบบออกมาแบบไหนถึงจะดี นอกเหนือจากการออกแบบแล้ว เรายังจะต้องกำหนดฟังก์ชั่น map และฟังก์ชั่น reduce อีกด้วย ว่าจะให้ทำงานอย่างไร

Continue reading "หลักการทำงานของ MapReduce และตัวอย่างการใช้"