Nội dung chính
MapReduce là gì?
MapReduce được phong cách thiết kế bởi Google như 1 quy mô lập trình giải quyết và xử lý tập dữ liệu lớn song song, thuật toán được phân tán trên 1 cụm. Mặc dù, MapReduce bắt đầu là công nghệ tiên tiến độc quyền của Google, nó đã trở thành thuật ngữ tổng quát hóa trong thời hạn gần đây .
>> Ngày 6 nền tảng mềm mã nguồn mở Apache Hadoop
>> Ngày 5 – Học về Big Data – NoSQL là gì?
>> Ngày 4 – học về cơ bản về kiến trúc Big Data
Bạn đang đọc: Ngày 7 giới thiệu Big Data – MapReduce là gì?
>> Ngày 3 – Học về sự tiến hóa của Big Data
MapReduce gồm những thủ tục : 1 Map ( ) và 1 Reduce ( ). Thủ tục Map ( ) lọc ( filter ) và phân loại ( sort ) trên tài liệu trong khi thủ tục Reduce ( ) triển khai tổng hợp tài liệu. Mô hình này dựa tre7m những khái niệm biến hóa của map và reduce những tính năng trong lập trình hướng tính năng. Thư viện thủ tục Map ( ) và Reduce ( ) được viết bằng nhiều ngôn từ. Cài đặt không tính tiền, thông dụng nhất của MapReduce là Apache Hadoop .
Các thuận lợi của các thủ tục MapReduce
Nền tảng MapReduce thường gồm những sever phân tán và nó chạy nhiều tác vụ khác nhau song song. Có nhiều thành phần quản trị việc tiếp xúc giữa những nodes khác nhau của tài liệu và cung ứng tính sẵn sàng chuẩn bị cao và mức độ chịu lỗi. Chương trình được viết theo tính năng MapReduce đợc tự động hóa được phân tán và thực thi song song trên những sever. Nền tảng MapReduce chăm sóc cả chi tiết cụ thể của phân vùng tài liệu và thực thi quy trình giải quyết và xử lý trên sever phân tán lúc chạy. Trong khi giải quyết và xử lý nếu có lỗi, nền tảng phân phối tính chuẩn bị sẵn sàng cao và những node khác triển khai sửa chữa thay thế trách nhiệm của node bị lỗi .
Như bạn đã thấy toàn bộ nền tảng MapReduce cung cấp nhiều hơn là chỉ các thủ tục Map() và Reduce(); nó cũng cung cấp khả năng mở rộng và chịu lỗi. Cài đặt điển hình của nền tảng MapReduce xử lý nhiều petabytes dữ liệu và hàng ngàn máy chủ.
Nền tảng MapReduce hoạt động như thế nào?
Đây là lý giải cơ bản tiến trình MapReduce dùng nhiều sever .
Thủ tục Map ( )
Luôn có 1 master node trong hạ tầng để nhận nguồn vào. Ngay sau master node là những sub-inputs / sub-problems. Các sub-problems được phân phối đến những worker nodes. Một worker node sau đó giải quyết và xử lý chúng. Một khi worker node triển khai xong giải quyết và xử lý với sub-problem, nó trả hiệu quả quay trở lại master node .
Thủ tục Reduce ( )
Tất cả worker nodes trả kết quả của sub-problem đã gán cho chúng về master node. Master node thu thập kết quả và tổng hợp thành kết quả của vấn đề lớn (big problem) ban đầu đã được gán cho master node.
Nền tảng MapReduce thực thi những thủ tục Map ( ) và Reduce ( ) ở trên song song và độc lập nhau. Tất cả thủ tục Map ( ) hoàn toàn có thể chạy song song và khi mỗi worker node hoàn thành xong tác vụ thì chúng gửi trở lại master node. Thủ tục đơn cử này hoàn toàn có thể rất hiệu suất cao khi nó được thực thi trên một số lượng rất lớn tài liệu ( big data ) .
Nền tảng MapReduce có 5 bước khác nhau:
- Chuẩn bị dữ liệu đầu vào cho Map()
- Thực thi mã Map() được cung cấp bởi người dùng
- Trộn dữ liệu xuất của Map vào Reduce Processor
- Thực thi mã Reduce() được cung cấp bởi người dùng
- Tạo dữ liệu xuất cuối cùng
Đây là luồng dữ liệu (dataflow) của nền tảng MapReduce:
- Input Reader
- Map Function
- Partition Function
- Compare Function
- Reduce Function
- Output Writer
MapReduce trong 1 câu đơn nhất
MapReduce tương tự với SELECT và GROUP BY của 1 cơ sở tài liệu quan hệ cho 1 cơ sở tài liệu rất lớn .
Source: http://139.180.218.5
Category: Thuật ngữ đời thường