Map Reduce Algorithm is a programming model for data processing. The model is simple, yet not too simple to express useful programs in Hadoop can run Map Reduce programs written in various languages; in this chapter, we shall look at the same program expressed in Java, Ruby, Python, and C++. Most important, Map Reduce programs are inherently parallel, thus putting very large-scale data analysis into the hands of anyone with enough machines at their disposal. Map Reduce comes into its own for large datasets, so let’s start by looking at one.