Map Reduce• Là một mô hình lập trình được đề xuất trong các ngôn ngữ lập trình hàm như Lisp, ML.. • Một trong những tính năng nổi bật của các ngôn ngữ lập trình hàm là các higher-order f
Trang 1MAP REDUCE
GVHD: TS Hồ Bảo Quốc
Nhóm học viên thực hiện:
• Dương Hữu Thành – 1212035
• Phạm Ngọc Vân Anh – 1212001
• Nguyễn Thanh Tòng – 1212039
Trang 2Nội dung
• Giới thiệu Map Reduce
• Ví dụ cụ thể
• Kiến trúc và cách thức hoạt động
• Khả năng chịu lỗi (Fault Tolerance)
Trang 3Giới thiệu về Map Reduce
Trang 4Map Reduce
• Là một mô hình lập trình được đề xuất trong các ngôn ngữ lập trình hàm như Lisp, ML
• Một trong những tính năng nổi bật của các ngôn ngữ lập trình hàm là các higher-order function
• Higher-order function là dạng function mà chấp nhận một function khác như là tham số của nó
Trang 5Map Reduce (cont.)
• 2 higher-oder function được dùng nhiều trong Lisp là map and fold
• Map và fold thường được dùng kết hợp với nhau
Trang 6Map Reduce (cont.)
map và fold trong Lisp
• (map square ‘(1 2 3 4))
▫ (1 4 9 16)
• (reduce + ‘(1 4 9 16))
▫ 30
Trang 7Map Reduce (cont.)
Map và reduce do Goole đề xuất
• map(key, val)
▫ Tạo ra new-key / new-val pairs
• reduce(key, vals)
▫ Tạo ra kết quả cuối cùng
▫ Với key/vals là giá trị tạo ra bởi map function.
Trang 8Map Reduce (cont.)
Trang 9VÍ DỤ CỤ THỂ
Trang 10Đếm số lần xuất hiện của mỗi từ trong tập các documents
Trang 11Đếm số lần xuất hiện của mỗi từ trong tập các documents (cont.)
Trang 12KIẾN TRÚC VÀ CÁCH THỨC HOẠT ĐỘNG
Trang 14Kết hợp giữ Map/Reduce và GFS
• Cách worker lấy dữ liệu để xử lý?
▫ Dữ liệu cần truy xuất lớn.
▫ Không đủ memory để load tất cả dữ liệu
• Giải pháp:
▫ Don’t move data to workers… Move workers to the data!
▫ Worker sẽ được khởi động trên các chunk server đã
có sẵn dữ liệu.
Trang 15FAULT TOLERANCE
Trang 16Worker Failure
• Master định kỳ ping worker để phát hiện failure
• Nếu một task nào đó thất bại, master chọn một worker khác để thực hiện lại task
Trang 17Master Failure
• Tất cả các map/reduce task sẽ thất bại
• Giải pháp:
▫ Đặt các checkpoint để có thể khởi động lại tại các checkpoint đó.
Trang 18Tài liệu tham khảo
• DataIntensive Text Processing with MapReduce -Jimmy Lin The iSchool University of Maryland.
• MapReduce: Simplified Data Processing on Large
Clusters - Jeffrey Dean and Sanjay Ghemawat Google Inc
Trang 19Q&A