MapReduce was basically a very verbose/imperative way to perform scalable, larger than memory aggregate-by-key operation.
It was necessary as a first step, but as soon as we had better abstraction, everyone stopped using it directly except for legacy maintenance of course.