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
