You can define a Combiner function, which does the same calculations as Reducer but on the Mappers’ side. The role of the Combiner is to precalculate the data so that we send less data over the network. Another solution is to compress the intermediate output so that the time required to shuffle the data will be minimized.