2016-07-22 20 views
0

我是新來的豬,在一個腳本上工作,我正面臨着一種情況。我的工作對大多數減速機運行非常有效,但最後幾個減速機需要數小時才能完成。我可以想出的唯一合理的解釋是很少的reducer有大量的數據,這是非常可能的,因爲我必須加入一個包含1000多行的數據集到一個約500行的數據集作爲映射練習。豬的減速機尺寸優化的最佳方法是什麼?

我發現的兩種方法是使用並行設置減速器的數量,其他使用pig.exec.reducers.bytes.per.reducer

在我的情況下,哪種方法會更好? (可能有大量記錄映射到單個密鑰)。

另外,對於pig.exec.reducers.bytes.per.reducer什麼是正確的實施方法?

回答

0

的爲了優化你應該使用複製的加入加入成爲

C = JOIN big BY b1, tiny BY t1, mini BY m1 USING 'replicated'; 

和處理您的工作並行或增加減速機的數量爲所有步驟,你可以只是在豬腳本的開頭添加一行

SET default parallel 100; 

,或者您可以使用

parallel 100; //on the line of the code 
相關問題