2012-08-16 45 views

回答

3

有一個命令說明但它引發我的部署異常。所以我使用另一種方法。

你可以在很多MR作業如何使用解釋命令來看,在實際規劃部分,這是在解釋報告的結尾安排的信息。要獲得腳本的MR作業數量,我執行以下操作:

./pig -e 'explain -script ./script_name.pig' > ./explain.txt 
grep MapReduce ./explain.txt | wc -l 

現在我們計劃了MR作業的數量。要監視腳本執行,在運行之前,需要訪問Hadoop的jobtracker頁面(通過「http://(IP_or_node_name):50030/jobtracker.jsp」)並記下上一個作業的名稱(Completed Jobs部分)。提交腳本。刷新jobtracker頁面並計算有多少個正在運行的作業,以及在您記錄的那個之後完成多少個作業。現在您可以瞭解剩下多少工作要執行。 點擊每項工作,查看其統計數據和進度。

更簡單的方法是在小數據集上運行腳本,記下作業的數量,並在腳本執行後顯示在控制檯輸出上。由於豬沒有改變其執行計劃,它將與大數據集相同。通過查看Hadoop的jobtracker頁面上的每個作業的統計信息(通過「http://(IP_or_node_name):50030/jobtracker.jsp」),您可以瞭解每個MR作業所佔的時間比例。您可以使用它來近似插值大數據集上的執行時間。如果您的數據和一些笛卡爾產品有偏差,執行時間預測可能會變得棘手。

5

我們在Twitter上遇到了同樣的問題,因爲我們的一些Pig腳本啓動了數十個Map-Reduce作業,有時很難分辨出他們中的哪些人正在做什麼,理解計劃的效率,瞭解多少人會並行運行等

所以我們創建了Twitter的安布羅斯:https://github.com/twitter/ambrose

它旋轉起來,讓你一個很好的網絡用戶界面,顯示作業DAG一點碼頭服務器,顏色齊全作業的節點,使你對工作進行統計,並告訴你每個工作正試圖計算哪些關係。