A combiner is responsible for performing all the local tasks of reducing the local data files. A combiner mainly works on the Map Output. It is also capable of producing the output for the reducer's input just like the reducer. Combiner has come up with other uses too. For example, it is often used for the job of network optimization especially when there is an increase in output numbers by the map generator. Combiner also keeps varying from the reducer in many ways like for example, a reducer is limited but however, a combiner has a set of limitations like the input data or the output data, and the values would need to be similar to the output data of the mapper. A combiner is also capable of working on the commutative function like for example; it will be able to operate on subsets of the values and keys of the data. A combiner is capable of getting its input from only one single mapper while a reducer gets its input from different numbers of mappers.