Q: If there are few map tasks than node in the cluster? As we know , as many blocks that many map tasks.
Well Map tasks in MapReduce normally operate on one block at a time. So if we have too few tasks (fewer than nodes in the cluster), then why the  jobs will run slower than they could otherwise?

A: Yes, you are right. Hadoop is bad at "scaling down" past the point where a job takes up fewer slots than are available in the cluster.
For example, imagine you have 100 nodes, with 10 map slots per node. That means you have 1000 map slots. Imagine a block takes 1 minute to process with a map task. If you have a job with only 5 blocks, that job will take ~1 minute. If you have a job with 20 blocks, that job will take ~1 minute. If you have a job with 1000 blocks, that job will take ~1 minute. If you have a job with 2000 blocks, that will take ~2 minutes.
You could use a smaller block size to split the problem up better, but this has a tradeoff that you'll have more overhead on larger jobs.
