We think of the map function as taking a single input, typically a String, and emitting zero or more outputs, each of which is a (key, (value)) pair. For example, if our program is counting occurrences of the word liberty, the input "Give me liberty" would emit one output, ("liberty", ("1")).
As an example, consider the problem of finding the nutritional content of a cheeseburger. Each component has a variety of features such as calories, protein, etc. MapReduce can add up the features individually.
We will present a simple version of MapReduce in Lisp to introduce how it works.