在此的其他問題here蜂巢,Hadoop的,後面hive.exec.reducers.max
使用hive.exec.reducers.max指令的情況下的力學已忠實地把我難倒了。
從我的角度來看,我認爲配置單元可以處理某種邏輯,例如,在所需的查詢中有N個塊,因此我需要N個映射。從NI將需要一些合理範圍的減速器R,它可以是從R = N/2到R = 1的任何地方。對於我正在研究的蜂巢報告,有1200多幅地圖,沒有任何影響蜂巢制定了約400除了我正在研究一個總共只有70個減速器的集羣外,其他的減速器都很好。即使有合理的工作調度程序,這也會導致積壓,從而導致其他工作掛掉。因此,我嘗試了很多不同的實驗,直到找到hive.exec.reducers.max並將其設置爲類似於60.
結果是,花了248分鐘的配置單元工作,在155分鐘內完成,沒有任何更改結果。有什麼困擾我的是,爲什麼不把Hive的默認值設置爲N從未超過集羣減速器的容量,並且看到我可以用減少的減速器集滾動幾個TB數據,然後蜂巢認爲是正確的,總是嘗試更好並調整這個計數?
我現在過去的客戶的架構師提出了相同的理論,即JVM的實例化成本也在運行時發揮了作用。也許它是實例化成本加上分解成本的總和。將標記爲你正確的答案,因爲它的一系列非常合理的意見來解釋我與hadoop的經驗。 – David 2011-02-19 01:17:07
謝謝大衛:) – chiku 2011-02-19 06:24:51