Why is Fetch task in Hive works faster than Map-only task?

FetchTask directly fetches data, whereas Mapreduce will invoke a map reduce job  Run code snippetExpand snippet Also there is another parameter hive.fetch.task.conversion.threshold which by default in 0.10-0.13 is -1 and >0.14 is 1G(1073741824) This indicates that, If table size is greater than 1G use Mapreduce instead of Fetch task more detail