Communications of the ACM

MapReduce

Journal article · 2008 · Cited by 18,633

✓ Free legal copy found

Published version, hosted by dl.acm.org

This is the final version, as it appears in the journal.

Read the free PDF →

Abstract

MapReduce is a programming model and an associated implementation for processing and generating large datasets that is amenable to a broad variety of real-world tasks. Users specify the computation in terms of a map and a reduce function, and the underlying runtime system automatically parallelizes the computation across large-scale clusters of machines, handles machine failures, and schedules inter-machine communication to make efficient use of the network and disks. Programmers find the system easy to use: more than ten thousand distinct MapReduce programs have been implemented internally at Google over the past four years, and an average of one hundred thousand MapReduce jobs are executed on Google's clusters every day, processing a total of more than twenty petabytes of data per day.

DOI: 10.1145/1327452.1327492 · Publisher: Association for Computing Machinery (ACM)

Guides

Find another paper