2010-12-16 15 views
4

我使用PIG拉丁文進行日誌處理,因爲它的表現力在數據不夠大而無法擔心設置整個hadoop羣集的問題中。我在本地模式下運行PIG,但我認爲它沒有使用所有可用的內核(目前爲16),監視CPU最多顯示200%的CPU使用率。爲本地執行微調PIG

是否有任何教程或建議微調PIG本地執行?我確信所有的mapper都可以使用所有可用的內核,並進行一些簡單的調整。 (在我的腳本中,我已經將default_parallel參數設置爲20)

此致敬意。

回答

5

Pig's documentation明確表示本地操作旨在單線程運行,對於某些功能採用不同的代碼路徑,否則這些功能將使用分佈式排序。因此,對Pig的本地模式進行優化似乎是對所提出問題的錯誤解決方案。

您是否考慮過運行本地「僞分佈式」羣集,而不是投資於完整的羣集設置?您可以按照Hadoop's instructions for pseudo-distributed operation,,然後指出豬在localhost。這會產生理想的結果,代價是兩步啓動和拆卸。

您需要增加默認映射器和縮減器的數量,以消耗機器上可用的所有內核。幸運的是,這是相當有據可查的(不可否認,在cluster setup documentation);只需在您的本地副本$HADOOP_HOME/conf/mapred-site.xml中定義mapred.tasktracker.map.tasks.maximummapred.tasktracker.reduce.tasks.maximum即可。