Q:

Number of Map Jobs created based on Data Volume

Whenever we run any Map job on any volume of Data, by default certain number of map jobs getting created. I wanted to know the logic behind it. 

Consider the situation when I am trying to upload data on HDFS or
  using sqoop to upload data to HIVE

Is there some static number of jobs based on volume of data like
Mathematical Formula.
Is there some intelligent system which understands your data based on
Supervised clustering algorithm and it group data in each of the Map?

I wanted to know exactly how Hadoop knows about number if Map jobs, I tried to find the answer in internet but I couldn't find the exact reply .

A:

The number of map tasks executed depends on the number of input splits calculated.
The logic to compute the number of input splits depends on the InputFormat used in the MapReduce job.
One map task will be spawned for each input split, so if there are 3 input splits we will have 3 map tasks
You can create a custom InputFormat if you need to customise this logic in anyway
Have a look at the Definitive Guide for more details

