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 cách xử trí tập dữ liệu lớn. Mapreduce bao gồm 2 trộn : bản đồ và reduce.Hàm maps : những xử lý một cặp (key, value) để ra đời một cặp (keyI, valueI) - key với value trung gian. Tài liệu này input vào hàm Reduce.

Hàm Reduce : chào đón các (keyI, valueI) và trộn những cặp (keyI, valueI) trung gian , lôi ra các valueI tất cả cùng keyI.

Việc của lập trình sẵn viên là vồ cập tới 2 hàm bản đồ và Reduce. Còn những vấn đề khác ví như : phân chia những dữ liệu đầu vào, lịch trình thực thi các machines, handling các machines failure, làm chủ việc tiếp xúc giữa những machines là việc của hệ thống run-time.=> xây dựng viên rất có thể không có kinh nghiệm tay nghề về khối hệ thống song song và phân tán vẫn dễ ợt vận hành một hệ thống phân tán lớn.

Áp dụng quy mô MapReduce chạy trên lượng lớn các machine cỡ hàng chục ngàn machine với data lên tới mức Terabytes.

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

Các job sau dễ dàng sử dụng Mapreduce:

những thống kê số từ khóa mở ra trong những documents.Thống kê số documents bao gồm chứa từ khóa.Thống kê số câu match với pattern trong những documents.Thống kê số URLs xuất hiện thêm trong những web pages.Thống kê số lượng truy vấn các URLs.Thống kê số tự khóa trên các hostnames.Distributed Sort.

Hoạt động :

Ý tưởng Chia sự việc cần xử lý thành những phần nhỏ dại để xử lý.Xử lý những phần bé dại đó một cách tuy nhiên song và độc lập trên các máy tính phân tán.Tổng hòa hợp các hiệu quả thu được nhằm dưa ra tác dụng cuối cùng.Hoạt cồn của MapReduce rất có thể được cầm tắt như sau: Đọc tài liệu đầu vàoXử lý dữ liệu đầu vào (thực hiện hàm map)Sắp xếp và trộn các kết quả thu được tự các máy vi tính phân tán thích hợp nhất.Tổng hòa hợp các hiệu quả trung gian thu được ( thực hiện hàm reduce) Đưa ra hiệu quả cuối cùng.Sơ đồ :
*

Ví dụ với vấn đề wordcount
*

Implementation

*

thông qua thư viện MapReduce vận dụng với từng ngôn ngữ, chương trình có nhiệm vụ phân mảnh tệp tài liệu đầu vào. Tài liệu vào được phân thành các phần nhỏ dại 16 megabytes mang đến 64 megabytes (MB). Tiếp nối khởi hễ việc xào luộc chương trình trên các clusters.Các máy gồm có: master cùng worker. Trong các số đó máy master làm nhiệm vụ điều phối sự buổi giao lưu của quá trình thực hiện MapReduce trên những máy worker, những máy worker có tác dụng nhiệm vụ thực hiện Map và Reduce với tài liệu mà nó nhận được. Bằng cách đặt tâm trạng idle sản phẩm workers và sau đó gắn cho từng máy task maps hoặc reduce.Máy master sẽ thực hiện phân phối những tác vụ map và Reduce vào các worker đã rãnh rỗi. Các tác vụ này được master phân phối cho các laptop dựa trên vị trí của dữ liệu tương quan trong hệ thống. Thiết bị worker khi cảm nhận tác vụ bản đồ sẽ đọc tài liệu mà nó dìm từ phân vùng dữ liệu đã gán đến nó và thực hiện hàm Map. Tác dụng đầu ra là những cặp (keyI,valueI) trung gian. Những cặp này được lưu lại tạm trên bộ nhớ đệm của những máy.Sau khi thực hiện xong các bước Map, các máy worker làm trách nhiệm chia những giá trị trung gian thành R vùng ( tương ứng với R tác vụ Reduce) giữ xuống đĩa và thông báo kết quả, vị trí lưu mang lại máy master.Master đã gán quý giá trung gian với vị trí của các dữ liệu đó cho những máy thực hiện các bước Reduce. Các máy reducer làm trách nhiệm xử lý chuẩn bị xếp những key, thực hiện hàm Reduce và đưa ra tác dụng cuối cùng.Master đang kích hoạt thông báo cho chương trình người dùng quá trình MapReduce vẫn hoàn tất, tác dụng đầu ra được lưu trữ trên R tập tin.

Nguồn dẫn từ bỏ : <1> Jeffrey Dean, Sanjay Ghemawat. Mapreduce : Simplified Data Processing on Large Clusters. In OSDI, 2004

Phần tới sẽ nói về thực thi bên trên Hadoop với sâu hơn về mapreduce.

cùng một tác giả



21 2

bắt đầu Khi bạn đi sâu vào trái đất linux , bạn tìm thấy các điều khó có thể hiểu tức thì lập tức. Với 1 trong những thứ này là có mang socket. Tô...



15 0

Hadoop là đồ vật gi vậy? “Hadoop là 1 trong những framework nguồn mở viết bằng Java có thể chấp nhận được phát triển các ứng dụng phân tán gồm cường độ dữ liệu lớn một giải pháp ...


MapReduce là một khuôn khổ phần mềm và quy mô lập trình được thực hiện để giải pháp xử lý một lượng to dữ liệu. Chương trình MapReduce hoạt động trong nhị giai đoạn, đó là map và reduce. Các tác vụ Map giải quyết việc chia nhỏ dại và ánh xạ dữ liệu trong lúc reduce tác vụ xáo trộn và reduce dữ liệu.

Hadoop có tác dụng chạy những chương trình MapReduce được viết bằng nhiều ngữ điệu khác nhau: Java, Ruby, Python với C ++. Các chương trình của bản đồ Reduce trong năng lượng điện toán đám mây có tính chất song song, cho nên rất hữu ích để tiến hành phân tích tài liệu quy mô lớn thực hiện nhiều máy trong cụm.

Đầu vào cho từng pha là các cặp key-value . Ngoài ra, phần nhiều lập trình viên cần xác định hai chức năng: bản đồ function và reduce function

Giải thích chi tiết về phong cách thiết kế MapReduce trong tài liệu lớn

Toàn bộ quá trình trải qua bốn giai đoạn tiến hành là phân chia tách, ánh xạ, xới trộn với reduce bớt.

Xem thêm: Về Win 8.1 Từ Win 10 Xuống Windows 7 Hoặc, Quay Lại Windows 8

Bây giờ trong lý giải MapReduce này, bọn họ hãy hiểu với một ví dụ như về MapReduce–

Hãy coi xét bạn có dữ liệu đầu vào sau mang đến Chương trình MapReduce vào 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ả sau cuối của tác vụ MapReduce là

bad
1
Class1
good1
Hadoop3
is2
to1
Welcome1

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 mang đến một các bước MapReduce trong dữ liệu lớn được chia thành các phần tất cả kích thước cố định được call là phần tách bóc đầu vào Phần phân tách đầu vào là một phần của nguồn vào được áp dụng bởi một Map

Lập Map

Đây là giai đoạn thứ nhất trong quy trình thực hiện công tác thu nhỏ tuổi Map. Trong quy trình này, dữ liệu trong những lần bóc tách được chuyển đến một hàm ánh xạ để tạo nên các quý giá đầu ra. Trong lấy một ví dụ của chúng tôi, công việc của tiến độ ánh xạ là đếm một số trong những lần xuất hiện thêm của mỗi từ từ các phần tách đầu vào (chi tiết hơn về phần bóc tách đầu vào được đưa ra bên dưới) và chuẩn bị một list ở dạng

Xáo trộn

Giai đoạn này tiêu thụ áp sạc ra của tiến trình Ánh xạ. Nhiệm vụ của nó là hợp nhất các bản ghi bao gồm liên quan từ trên đầu ra của giai đoạn Lập Map. Trong lấy ví dụ của bọn chúng tôi, các từ như thể nhau được ghép lại cùng với nhau thuộc với tần suất tương ứng của chúng.

reduce

Trong quy trình tiến độ này, những giá trị áp ra output từ tiến trình Ngẫu nhiên được tổng hợp. Tiến độ này kết hợp các giá trị từ giai đoạn xáo trộn cùng trả về một giá chỉ trị áp ra output duy nhất. Cầm lại, giai đoạn này bắt tắt toàn thể tập dữ liệu.

Trong lấy ví dụ của bọn chúng tôi, giai đoạn này tổng hợp các giá trị từ tiến trình Xáo trộn, tức là, đo lường và tính toán tổng số lần mở ra của mỗi từ.

Một tác vụ bản đồ được tạo cho mỗi phần tách, tiếp nối thực thi chức năng Map mang đến mỗi bản ghi trong phần tách.Luôn luôn hữu ích khi có tương đối nhiều phần bóc vì thời hạn cần nhằm xử lý một trong những phần nhỏ hơn so với thời hạn thực hiện nhằm xử lý tổng thể đầu vào. Khi những phần tách nhỏ hơn, quy trình xử lý sẽ giỏi hơn để thăng bằng tải vì chúng tôi đang xử lý những phần bóc song song.Tuy nhiên, cũng không nên mong mong có những vết phân chia có kích thước quá nhỏ. Khi các phần bóc tách quá nhỏ, sự quá sở hữu của việc làm chủ các phần bóc tách và sản xuất tác vụ Map bắt đầu chi phối tổng thời hạn thực hiện công việc.Đối với số đông các công việc, xuất sắc hơn nên tạo kích thước chia nhỏ tuổi bằng kích cỡ của khối HDFS (theo mang định là 64 MB).Việc thực thi các tác vụ maps dẫn tới việc ghi đầu ra output vào đĩa cục bộ trên nút tương ứng chứ chưa phải HDFS.Lý bởi chọn đĩa toàn thể trên HDFS là để tránh sao chép diễn ra trong trường hợp buổi giao lưu của cửa hàng HDFS.Đầu ra bản đồ là cổng output trung gian được cách xử lý bằng những tác vụ reduce để tạo nên đầu ra cuối cùng.Khi quá trình hoàn thành, đầu ra output Map rất có thể bị bỏ bỏ. Do vậy, lưu trữ nó vào HDFS với sự xào nấu trở nên trên mức cho phép cần thiết.Trong trường phù hợp nút bị lỗi, trước khi tác vụ thu gọn áp dụng đầu ra Map, Hadoop đã chạy lại nhiệm vụ map trên một nút không giống và tạo lại đầu ra Map.Tác vụ reduce không chuyển động trên có mang địa phương dữ liệu. Đầu ra của hầu như tác vụ bản đồ được cấp cho cho tác vụ thu gọn. Đầu ra bản đồ được chuyển mang đến máy khu vực tác vụ reduce vẫn chạy.Trên đồ vật này, cổng đầu ra được hợp tốt nhất và tiếp đến được chuyển mang lại hàm reduce do người tiêu dùng xác định.Không y như đầu ra Map, đầu ra reduce được lưu trữ trong HDFS (bản sao đầu tiên được tàng trữ trên nút toàn thể và các bản sao khác được lưu trữ trên các nút ngoại trừ giá đỡ). Bởi vậy, viết reduce sản lượng

Bây giờ trong giải đáp MapReduce này, bọn họ sẽ khám phá cách hoạt động của MapReduce

Hadoop chia quá trình thành các nhiệm vụ. Tất cả hai các loại nhiệm vụ:

Map (Tách và Lập Map)reduce (xáo trộn, reduce)

như đang đề cập sống trên.

Xem thêm: Nghe Truyện Ma Trinh Nữ Báo Thù, Trinh Nữ Báo Thù

Quá trình thực thi hoàn chỉnh (thực hiện những tác vụ map và Rút gọn, cả hai) được điều hành và kiểm soát bởi hai các loại thực thể được điện thoại tư vấn là

Jobtracker : vận động như một master (chịu trách nhiệm tiến hành hoàn chỉnh các bước đã nộp)Nhiều Trình quan sát và theo dõi Nhiệm vụ : hành vi như slave, mọi người trong số họ thực hiện quá trình

Đối với mỗi các bước được nhờ cất hộ để tiến hành trong hệ thống, tất cả một Trình theo dõi và quan sát công bài toán nằm trên Namenode và gồm nhiều trình theo dõi tác vụ nằm ở Datanode .


Cách hoạt động của Hadoop MapReduce

Một quá trình được tạo thành nhiều nhiệm vụ tiếp nối được chạy trên những nút dữ liệu trong một cụm.Người theo dõi các bước có nhiệm vụ điều phối hoạt động bằng cách lên lịch cho các tác vụ chạy trên các nút tài liệu khác nhau.Việc thực thi nhiệm vụ riêng lẻ tiếp nối được theo dõi bởi vì trình quan sát và theo dõi tác vụ, ở trên phần đông nút dữ liệu đang thực thi một trong những phần của công việc.Trách nhiệm của trình theo dõi các bước là gửi báo cáo tiến độ mang lại trình quan sát và theo dõi công việc.Ngoài ra, trình theo dõi nhiệm vụ định kỳ gửi biểu thị heartbea mang lại Trình theo dõi các bước để thông tin cho anh ta về trạng thái bây giờ của hệ thống.Do đó, trình theo dõi quá trình theo dõi tiến độ toàn diện và tổng thể của từng công việc. Vào trường hợp trách nhiệm bị lỗi, trình theo dõi quá trình có thể lên kế hoạch lại trên một trình theo dõi nhiệm vụ khác.