2013-11-21 38 views
2

對於某個Hadoop MapReduce映射器任務,我已經有了映射器任務的完整執行時間。通常,映射程序有三個步驟:(1)從HDFS或其他來源(如Amazon S3)讀取輸入; (2)處理輸入數據; (3)將中間結果寫入本地磁盤。現在,我想知道是否有可能知道每一步花費的時間。Hadoop映射器任務詳細執行時間

我的目的是得到(1)映射器從HDFS或S3讀取輸入需要多長時間。結果只是表明映射器可以讀取多快。這更像是映射器的I/O性能; (2)映射器處理這些數據需要多長時間,這更像是任務的計算能力。

任何人有任何想法如何獲得這些結果?

謝謝。

回答

0

只需實現一個不發射任何東西的只讀映射器。這將顯示每個拆分需要多長時間才能讀取(但未處理)。

可作爲一個進一步的步驟中定義傳遞給工作在運行時(通過作業屬性)的變量而言,可以執行只之一以下的(由例如解析變量針對一個枚舉對象,然後在切換值):

  • 剛讀
  • 只是讀取和處理(但不能寫入/發射任何東西)
  • 做這一切

這當然假定您已經ACCES s到映射器代碼。