Trang Chủ Điện toán đám mây Mapreduce là gì? - định nghĩa từ techopedia

Mapreduce là gì? - định nghĩa từ techopedia

Mục lục:

Anonim

Định nghĩa - MapReduce có nghĩa là gì?

MapReduce là một mô hình lập trình được Google giới thiệu để xử lý và tạo các tập dữ liệu lớn trên các cụm máy tính.

Trước tiên, Google đã xây dựng khung cho mục đích phục vụ lập chỉ mục trang Web của Google và khung mới đã thay thế các thuật toán lập chỉ mục trước đó. Các nhà phát triển mới bắt đầu thấy khung MapReduce có lợi vì các thói quen của thư viện có thể được sử dụng để tạo các chương trình song song mà không phải lo lắng về giao tiếp nội bộ, giám sát tác vụ hoặc quy trình xử lý lỗi.

MapReduce chạy trên một cụm lớn các máy móc hàng hóa và có khả năng mở rộng cao. Nó có một số hình thức triển khai được cung cấp bởi nhiều ngôn ngữ lập trình, như Java, C # và C ++.

Techopedia giải thích MapReduce

Khung MapReduce có hai phần:

  1. Một hàm gọi là "Bản đồ", cho phép các điểm khác nhau của cụm phân tán phân phối công việc của chúng
  2. Một hàm gọi là "Giảm", được thiết kế để giảm dạng cuối cùng của kết quả của cụm thành một đầu ra

Ưu điểm chính của khung MapReduce là khả năng chịu lỗi của nó, trong đó các báo cáo định kỳ từ mỗi nút trong cụm được mong đợi khi công việc được hoàn thành.

Một tác vụ được chuyển từ nút này sang nút khác. Nếu nút chính thông báo rằng một nút đã im lặng trong một khoảng thời gian dài hơn dự kiến, thì nút chính sẽ thực hiện quá trình gán lại cho tác vụ bị đóng băng / trì hoãn.

Khung MapReduce được lấy cảm hứng từ các chức năng "Bản đồ" và "Giảm" được sử dụng trong lập trình chức năng. Xử lý tính toán xảy ra trên dữ liệu được lưu trữ trong một hệ thống tệp hoặc trong cơ sở dữ liệu, lấy một tập hợp các giá trị khóa đầu vào và tạo ra một tập hợp các giá trị khóa đầu ra.

Mỗi ngày, nhiều chương trình MapReduce và các công việc MapReduce được thực thi trên các cụm của Google. Các chương trình được tự động song song và thực hiện trên một cụm lớn các máy móc hàng hóa. Hệ thống thời gian chạy xử lý phân vùng dữ liệu đầu vào, lên lịch thực hiện chương trình trên một bộ máy, xử lý lỗi máy và quản lý giao tiếp liên máy tính cần thiết. Các lập trình viên không có bất kỳ kinh nghiệm nào với các hệ thống song song và phân tán có thể dễ dàng sử dụng tài nguyên của một hệ thống phân tán lớn.

MapReduce được sử dụng trong grep phân tán, sắp xếp phân tán, đảo ngược biểu đồ liên kết Web, thống kê nhật ký truy cập Web, phân cụm tài liệu, học máy và dịch máy thống kê.

Mapreduce là gì? - định nghĩa từ techopedia