Bài giảng 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 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ó.

pdf19 trang | Chia sẻ: lylyngoc | Lượt xem: 1878 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài giảng Map Reduce, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
MAP 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 Nộ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) Giới thiệu về Map Reduce 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 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ó. Map 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 Map Reduce (cont.) map và fold trong Lisp • (map square ‘(1 2 3 4)) ▫ (1 4 9 16) • (reduce + ‘(1 4 9 16)) ▫ 30 Map 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. Map Reduce (cont.) VÍ DỤ CỤ THỂ Đếm số lần xuất hiện của mỗi từ trong tập các documents Đếm số lần xuất hiện của mỗi từ trong tập các documents (cont.) KIẾN TRÚC VÀ CÁCH THỨC HOẠT ĐỘNG Kế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. FAULT TOLERANCE Worker 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. Master 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 đó. Tài liệu tham khảo • Data-Intensive 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 Q&A
Tài liệu liên quan