Hadoop MapReduce là gì
Khái niệm : Mapreduce là một mô hình lập trình, thực hiện quá tình xử lý tập dữ liệu lớn. Mapreduce gồm 2 pha : map và reduce.
Hàm Map : Các xử lý một cặp (key, value) để sinh ra một cặp (keyI, valueI) - key và value trung gian. Dữ liệu này input vào hàm Reduce.
Hàm Reduce : Tiếp nhận các (keyI, valueI) và trộn các cặp (keyI, valueI) trung gian , lấy ra các valueI có cùng keyI. Việc của lập trình viên là quan tâm tới 2 hàm Map và Reduce. Còn các vấn đề khác như : phân chia các dữ liệu đầu vào, lịch trình thực thi các machines, handling các machines failure, quản lý việc giao tiếp giữa các machines là việc của hệ thống run-time.
=> Lập trình viên có thể không có kinh nghiệm về hệ thống song song và phân tán vẫn dễ dàng vận hành một hệ thống phân tán lớn.
Áp dụng mô hình MapReduce chạy trên lượng lớn các machine cỡ hàng ngàn machine và data lên đến mức Terabytes. Các job sau dễ dàng sử dụng Mapreduce: Hoạt động : Implementation
Nguồn dẫn từ : Phần tới sẽ nói về thực thi trên Hadoop và sâu hơn về mapreduce.
Cùng một tác giả
21 2
Mở đầu Khi bạn đi sâu vào thế giới linux , bạn tìm thấy nhiều điều khó có thể hiểu ngay lập tức. Và 1 trong những thứ này là khái niệm socket. Tô...
15 0
Hadoop là cái gì vậy? “Hadoop là một framework nguồn mở viết bằng Java cho phép phát triển các ứng dụng phân tán có cường độ dữ liệu lớn một cách ...
13 0
Trước khi so sánh khác nhau về HDFS và HDFS2. Chúng ta đi tìm hiểu về HDFS là cái gì, kiến trúc thế nào? Vì sao điều này lại quan trọng. Bởi vì đâ... Bài viết liên quan
15 0
Hadoop là cái gì vậy? “Hadoop là một framework nguồn mở viết bằng Java cho phép phát triển các ứng dụng phân tán có cường độ dữ liệu lớn một cách ...
6 0
Khoảng 5, 7 năm nay NOSQL là đề tài rất nóng bỏng. SQL phổ biến thì chỉ có khoảng vài ba cái như PostgreSQL, MySQL, MS SQL, Oracle nói chung na na ...
13 0
Trước khi so sánh khác nhau về HDFS và HDFS2. Chúng ta đi tìm hiểu về HDFS là cái gì, kiến trúc thế nào? Vì sao điều này lại quan trọng. Bởi vì đâ...
MapReduce là một khuôn khổ phần mềm và mô hình lập trình được sử dụng để xử lý một lượng lớn dữ liệu. Chương trình MapReduce hoạt động trong hai giai đoạn, đó là Map và reduce. Các tác vụ Map giải quyết việc chia nhỏ và ánh xạ dữ liệu trong khi reduce tác vụ xáo trộn và reduce dữ liệu. Hadoop có khả năng chạy các chương trình MapReduce được viết bằng nhiều ngôn ngữ khác nhau: Java, Ruby, Python và C ++. Các chương trình của Map Reduce trong điện toán đám mây có tính chất song song, do đó rất hữu ích để thực hiện phân tích dữ liệu quy mô lớn sử dụng nhiều máy trong cụm. Đầu vào cho mỗi pha là các cặp key-value . Ngoài ra, mọi lập trình viên cần xác định hai chức năng: map function và reduce function Giải thích chi tiết về Kiến trúc MapReduce trong Dữ liệu lớn Toàn bộ quá trình trải qua bốn giai đoạn thực hiện là chia tách, ánh xạ, xáo trộn và reduce bớt. Bây giờ trong hướng dẫn MapReduce này, chúng ta hãy hiểu với một ví dụ về MapReduce– Hãy xem xét bạn có dữ liệu đầu vào sau cho Chương trình MapReduce trong Big Data Chào mừng bạn đến với Hadoop Lớp Hadoop tốt Hadoop xấu Kiến trúc MapReduce Kết quả cuối cùng của tác vụ MapReduce là
Dữ liệu trải qua các giai đoạn sau của MapReduce trong Dữ liệu lớn Tách đầu vào: Đầu vào cho một công việc MapReduce trong Dữ liệu lớn được chia thành các phần có kích thước cố định được gọi là phần tách đầu vào Phần chia đầu vào là một phần của đầu vào được sử dụng bởi một Map Lập Map Đây là giai đoạn đầu tiên trong quá trình thực hiện chương trình thu nhỏ Map. Trong giai đoạn này, dữ liệu trong mỗi lần tách được chuyển đến một hàm ánh xạ để tạo ra các giá trị đầu ra. Trong ví dụ của chúng tôi, công việc của giai đoạn ánh xạ là đếm một số lần xuất hiện của mỗi từ từ các phần tách đầu vào (chi tiết hơn về phần tách đầu vào được đưa ra bên dưới) và chuẩn bị một danh sách ở dạng Xáo trộn Giai đoạn này tiêu thụ đầu ra của giai đoạn Ánh xạ. Nhiệm vụ của nó là hợp nhất các bản ghi có liên quan từ đầu ra của giai đoạn Lập Map. Trong ví dụ của chúng tôi, các từ giống nhau được ghép lại với nhau cùng với tần suất tương ứng của chúng. reduce Trong giai đoạn này, các giá trị đầu ra từ giai đoạn Ngẫu nhiên được tổng hợp. Giai đoạn này kết hợp các giá trị từ giai đoạn xáo trộn và trả về một giá trị đầu ra duy nhất. Tóm lại, giai đoạn này tóm tắt toàn bộ tập dữ liệu. Trong ví dụ của chúng tôi, giai đoạn này tổng hợp các giá trị từ giai đoạn Xáo trộn, tức là, tính toán tổng số lần xuất hiện của mỗi từ.
Bây giờ trong hướng dẫn MapReduce này, chúng ta sẽ tìm hiểu cách hoạt động của MapReduce Hadoop chia công việc thành các nhiệm vụ. Có hai loại nhiệm vụ:
như đã đề cập ở trên. Quá trình thực thi hoàn chỉnh (thực hiện các tác vụ Map và Rút gọn, cả hai) được kiểm soát bởi hai loại thực thể được gọi là
Đối với mỗi công việc được gửi để thực thi trong hệ thống, có một Trình theo dõi công việc nằm trên Namenode và có nhiều trình theo dõi tác vụ nằm trên Datanode . Cách hoạt động của Hadoop MapReduce
|