我们都知道,启用MapReduce Job是会消耗系统开销的。对于这个问题,从Hive0.10.0版本开始,对于简单的不需要聚合的类似SELECT <col> from <table> LIMIT n语句,不需要起MapReduce job,直接通过Fetch task获取数据,可以通过下面几种方法实现:
方法一:
方法一:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
|
hive> set hive.fetch.task.conversion=more;
hive> SELECT id, money FROM m limit
10
;
OK
1
122
1
185
1
231
1
292
1
316
1
329
1
355
1
356
1
362
1
364
Time taken:
0.138
seconds, Fetched:
10
row(s)
|
上面 set hive.fetch.task.conversion=more;开启了Fetch任务,所以对于上述简单的列查询不在启用MapReduce job!