简单,可复制

点点滴滴,尽在文中

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

hive.exec.parallel参数控制在同一个sql中的不同的job是否可以同时运行,默认为false.

下面是对于该参数的测试过程:

测试sql:

select r1.a
from (
   select t.a from sunwg_10 t join sunwg_10000000 s on t.a=s.b) r1 
   join 
   (select s.b from sunwg_100000 t join sunwg_10 s on t.a=s.b) r2 
   on (r1.a=r2.b);

 

1 当参数为false的时候,三个job是顺序的执行

set hive.exec.parallel=false;

2 但是可以看出来其实两个子查询中的sql并无关系,可以并行的跑

set hive.exec.parallel=true;

 

总结:
在资源充足的时候hive.exec.parallel会让那些存在并发job的sql运行得更快,但同时消耗更多的资源
可以评估下hive.exec.parallel对我们的刷新任务是否有帮助.

转自 http://www.oratea.net/?p=1377

 

posted on 2013-01-03 18:59  ggjucheng  阅读(8810)  评论(0编辑  收藏  举报