Mapreduce programmer can’t specify the number of map tasks to be instantiated in a mapreduce job. The number of map tasks are decided based on the input data in map phase. i.e. no of input splits from the input file.
Each split (which is of one block size generally) will be processed separately by a map task. So, the total number of map tasks are decided no of input splits.