I have about 170 GB data. I have to analyze it using hadoop 2.7.3. There are 14 workers. I have to find total of unique MIME type of each document e.g. total number of documents that are text/html type. When I run mapreduce job(written in python), Hadoop returns many output files instead of single one that I am expecting. I think this is due to many workers that process some data seprately and give output. I want to get single output. Where is the problem. How I can restrict hadoop to give single output (by combining all small output files).
Make your mapper to emit for each document processed  - (doc-mime-type, 1) then count up all such pairs at reduce phase. In essence, it is a standard word count exercise except your mappers emit 1s for each doc's mime-type.
Regarding number of reducers to set: Alex's way of merging reducers' results is preferable as allows to utilize all your worker nodes at reduce stage. However, if job to be run on 1-2 nodes then just one reducer should work fine.
How to combine hadoop mappers output to get single result