MapReduce là gì?

MapReduce có phong cách thiết kế bởi Google như 1 mô hình lập trình giải pháp xử lý tập dữ liệu lớn tuy nhiên song, thuật toán được phân tán bên trên 1 cụm. Mang dù, MapReduce ban đầu là technology độc quyền của Google, nó đang trở thành thuật ngữ tổng thể hóa trong thời gian gần đây.

Bạn đang xem: Mapreduce là gì

MapReduce gồm những thủ tục: 1 Map() cùng 1 Reduce(). Thủ tục Map() lọc (filter) và phân nhiều loại (sort) bên trên dữ liệu trong những lúc thủ tục Reduce() triển khai tổng vừa lòng dữ liệu. Quy mô này dựa tre7m các khái niệm biến đổi của bản đồ cùng reduce các tác dụng trong lập trình hướng chức năng. Thư viện thủ tục Map() cùng Reduce() được viết bởi nhiều ngôn ngữ. Setup miễn phí, thông dụng nhất của MapReduce là Apache Hadoop.

*

Các dễ ợt của các thủ tục MapReduce

Nền tảng MapReduce thường xuyên gồm các máy nhà phân tán với nó chạy các tác vụ không giống nhau song song. Có không ít thành phần làm chủ việc tiếp xúc giữa những nodes khác biệt của dữ liệu và hỗ trợ tính chuẩn bị sẵn sàng cao với mức độ chịu đựng lỗi. Công tác được viết theo tính năng MapReduce đợc auto được phân tán và thực thi tuy vậy song trên các máy chủ. Nền tảng MapReduce thân mật cả chi tiết của phân vùng dữ liệu và thực thi quá trình xử lý trên sever phân tán cơ hội chạy. Trong những lúc xử lý nếu gồm lỗi, nền tảng cung ứng tính chuẩn bị sẵn sàng cao và các node khác thực hiện thay thế nhiệm vụ của node bị lỗi.

Như chúng ta đã thấy toàn cục nền tảng MapReduce cung ứng nhiều hơn là chỉ những thủ tục Map() với Reduce(); nó cũng cung ứng khả năng không ngừng mở rộng và chịu lỗi. Thiết đặt điển hình của gốc rễ MapReduce xử lý những petabytes tài liệu và hàng vạn máy chủ.

Nền tảng MapReduce chuyển động như thay nào?

Đây là phân tích và lý giải cơ phiên bản quy trình MapReduce dùng nhiều máy chủ.

Thủ tục Map()

Luôn có 1 master node trong hạ tầng để nhận đầu vào. Ngay lập tức sau master node là những sub-inputs / sub-problems. Các sub-problems được bày bán đến các worker nodes. Một worker node tiếp nối xử lý chúng. Một lúc worker node dứt xử lý cùng với sub-problem, nó trả kết quả trở về master node.

Thủ tục Reduce()

Tất cả worker nodes trả tác dụng của sub-problem đang gán cho việc đó về master node. Master node thu thập kết quả và tổng đúng theo thành công dụng của sự việc lớn (big problem) ban sơ đã được gán đến master node.

Nền tảng MapReduce tiến hành các thủ tục Map() với Reduce() làm việc trên tuy vậy song và tự do nhau. Tất cả thủ tục Map() rất có thể chạy tuy nhiên song và khi mỗi worker node hoàn thành tác vụ thì chúng gửi quay trở lại master node. Thủ tục ví dụ này hoàn toàn có thể rất kết quả khi nó được triển khai trên một trong những lượng rất cao dữ liệu (big data).

Xem thêm: Bài Thơ Tỏ Lòng ( Dàn Ý Bài Thơ Tỏ Lòng Của Phạm Ngũ Lão, Dàn Ý Phân Tích Tỏ Lòng Chi Tiết Nhất (2 Mẫu)

Nền tảng MapReduce gồm 5 cách khác nhau:

Chuẩn bị tài liệu đầu vào mang đến Map()Thực thi mã Map() được hỗ trợ bởi người dùngTrộn tài liệu xuất của maps vào Reduce ProcessorThực thi mã Reduce() được hỗ trợ bởi fan dùngTạo tài liệu xuất cuối cùng

Đây là luồng tài liệu (dataflow) của nền tảng MapReduce:

Input ReaderMap FunctionPartition FunctionCompare FunctionReduce FunctionOutput Writer

MapReduce trong 1 câu đơn nhất

MapReduce tương đương với SELECT và GROUP BY của 1 cơ sở dữ liệu quan hệ cho một cơ sở tài liệu rất lớn.