Ngày 7 giới thiệu Big Data – MapReduce là gì?

Related Articles

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 khởi đầ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

>> 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 công dụng trong lập trình hướng công dụ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 lấy phí, thông dụng nhất của MapReduce là Apache Hadoop .

What_is_MapReduce

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à phân phối 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 sẵn sàng chuẩn bị cao và những node khác thực thi thay thế sửa chữa 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 quy trình tiến độ 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 hoàn thành xong giải quyết và xử lý với sub-problem, nó trả hiệu quả 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 triển khai 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 .

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories