MapReduce is a programming model and an associated implementation for processing and generating big data sets with a parallel, distributed algorithm on a cluster.[1][2][3]
A MapReduce program is composed of a map procedure, which performs filtering and sorting (such as sorting students by first name into queues, one queue for each name), and a reduce method, which performs a summary operation (such as counting the number of students in each queue, yielding name frequencies). The "MapReduce System" (also called "infrastructure" or "framework") orchestrates the processing by marshalling the distributed servers, running the various tasks in parallel, managing all communications and data transfers between the various parts of the system, and providing for redundancy and fault tolerance.
The model is a specialization of the split-apply-combine strategy for data analysis.[4]
It is inspired by the map and reduce functions commonly used in functional programming,[5] although their purpose in the MapReduce framework is not the same as in their original forms.[6] The key contributions of the MapReduce framework are not the actual map and reduce functions (which, for example, resemble the 1995 Message Passing Interface standard's[7]reduce[8] and scatter[9] operations), but the scalability and fault-tolerance achieved for a variety of applications due to parallelization. As such, a single-threaded implementation of MapReduce is usually not faster than a traditional (non-MapReduce) implementation; any gains are usually only seen with multi-threaded implementations on multi-processor hardware.[10] The use of this model is beneficial only when the optimized distributed shuffle operation (which reduces network communication cost) and fault tolerance features of the MapReduce framework come into play. Optimizing the communication cost is essential to a good MapReduce algorithm.[11]
MapReduce libraries have been written in many programming languages, with different levels of optimization. A popular open-source implementation that has support for distributed shuffles is part of Apache Hadoop. The name MapReduce originally referred to the proprietary Google technology, but has since been genericized. By 2014, Google was no longer using MapReduce as their primary big data processing model,[12] and development on Apache Mahout had moved on to more capable and less disk-oriented mechanisms that incorporated full map and reduce capabilities.[13]
^"MapReduce Tutorial". Apache Hadoop. Retrieved 3 July 2019.
^"Google spotlights data center inner workings". cnet.com. 30 May 2008. Archived from the original on 19 October 2013. Retrieved 31 May 2008.
^"MapReduce: Simplified Data Processing on Large Clusters" (PDF). googleusercontent.com.
^Wickham, Hadley (2011). "The split-apply-combine strategy for data analysis". Journal of Statistical Software. 40: 1–29. doi:10.18637/jss.v040.i01.
^"Our abstraction is inspired by the map and reduce primitives present in Lisp and many other functional languages." -"MapReduce: Simplified Data Processing on Large Clusters", by Jeffrey Dean and Sanjay Ghemawat; from Google Research
^Lämmel, R. (2008). "Google's Map Reduce programming model — Revisited". Science of Computer Programming. 70: 1–30. doi:10.1016/j.scico.2007.07.001.
^http://www.mcs.anl.gov/research/projects/mpi/mpi-standard/mpi-report-2.0/mpi2-report.htm MPI 2 standard
^"MPI Reduce and Allreduce · MPI Tutorial". mpitutorial.com.
^"Performing Parallel Rank with MPI · MPI Tutorial". mpitutorial.com.
^"MongoDB: Terrible MapReduce Performance". Stack Overflow. October 16, 2010. The MapReduce implementation in MongoDB has little to do with map reduce apparently. Because for all I read, it is single-threaded, while map-reduce is meant to be used highly parallel on a cluster. ... MongoDB MapReduce is single threaded on a single server...
^Cite error: The named reference ullman was invoked but never defined (see the help page).
^Sverdlik, Yevgeniy (2014-06-25). "Google Dumps MapReduce in Favor of New Hyper-Scale Analytics System". Data Center Knowledge. Retrieved 2015-10-25. "We don't really use MapReduce anymore" [Urs Hölzle, senior vice president of technical infrastructure at Google]
^Harris, Derrick (2014-03-27). "Apache Mahout, Hadoop's original machine learning project, is moving on from MapReduce". Gigaom. Retrieved 2015-09-24. Apache Mahout [...] is joining the exodus away from MapReduce.
"Sorting Petabytes with MapReduce – The Next Episode". Retrieved 7 April 2014. "MapReduce Tutorial". "Apache/Hadoop-mapreduce". GitHub. 31 August 2021...
framework for distributed storage and processing of big data using the MapReduce programming model. Hadoop was originally designed for computer clusters...
distributed data stores, including open source clones of Google's Bigtable/MapReduce and Amazon's DynamoDB. There are various ways to classify NoSQL databases...
Google Translate Bigtable, a large-scale semi-structured storage system MapReduce, a system for large-scale data processing applications LevelDB, an open-source...
integrate with Hadoop. Traditional SQL queries must be implemented in the MapReduce Java API to execute SQL applications and queries over distributed data...
limitations in the MapReduce cluster computing paradigm, which forces a particular linear dataflow structure on distributed programs: MapReduce programs read...
parallel. Similar to MapReduce, arbitrary user code is handed and executed by PACTs. However, PACT generalizes a couple of MapReduce's concepts: Second-order...
collaboration with Jeff Dean, has included big data processing model MapReduce, the Google File System, and databases Bigtable and Spanner. Wired have...
business." In December 2004, Google Research published a paper on the MapReduce algorithm, which allows very large-scale computations to be trivially...
than the map-reduce architectures usually meant by the current "big data" movement. In 2004, Google published a paper on a process called MapReduce that uses...
data. It uses JSON to store data, JavaScript as its query language using MapReduce, and HTTP for an API. CouchDB was first released in 2005 and later became...
in MapReduce, Apache Tez, or Apache Spark. Pig Latin abstracts the programming from the Java MapReduce idiom into a notation which makes MapReduce programming...
computer science is the so-called MapReduce programming model (see Encoding Map-Reduce As A Monoid With Left Folding). MapReduce, in computing, consists of two...
Google Analytics, web indexing, MapReduce, which is often used for generating and modifying data stored in Bigtable, Google Maps, Google Books search, "My Search...
Google Maps is a web mapping platform and consumer application offered by Google. It offers satellite imagery, aerial photography, street maps, 360° interactive...
Services to provide an upgraded version of Amazon's Elastic MapReduce (EMR) service. MapR broke the minute sort speed record on Google's Compute platform...
deviation. JavaScript can be used in queries, aggregation functions (such as MapReduce) and sent directly to the database to be executed. MongoDB supports fixed-size...
e.g. MapReduce[failed verification] Data grids (e.g. distributed in-memory data caches) Auto-scaling on any managed infrastructure "MapReduce: Simplified...
Apr 12 2010, added support for integrated caching, and Apache Hadoop MapReduce 0.7, released Jan 08 2011, added secondary indexes and online schema changes...
calls. Other examples include the POSIX Threads library and Hadoop's MapReduce. In both cases, the execution model of the programming model is different...
are Apache Spark, H2O, and Apache Flink.[citation needed] Support for MapReduce algorithms started being gradually phased out in 2014. Apache Mahout is...
Bigtable paper. Tables in HBase can serve as the input and output for MapReduce jobs run in Hadoop, and may be accessed through the Java API but also...
links map instances with reduce instances. However, there may be several MapReduce jobs in the data flow, and linking all map instances with all reduce instances...
and disk-backed storage for throughput intensive workloads, such as MapReduce and log processing (performance depends primarily on MB/s). In a typical...
Andreessen Horowitz and said it aimed to offer an alternative to Google's MapReduce system. Microsoft was a noted investor of Databricks in 2019, participating...
formats, metadata, security and resource management frameworks used by MapReduce, Apache Hive, Apache Pig and other Hadoop software. Impala is promoted...
successor of JBoss Cache. The project was announced in 2009. Transactions MapReduce Support for LRU and LIRS eviction algorithms Through pluggable architecture...