2013-05-18 67 views
2

在hadoop集羣中,是否有數學模型來描述關於Mapper的傳輸時間和datainputSize的曲線?有沒有數學模型來描述hadoop的運行時間和輸入數據大小之間的關係?

例如,如果M Mappers的原始數據大小爲N,並且從Mappers到Reducers的總傳輸時間是T.現在我想要在Mappers中將數據大小加倍到2N,是否有近似估計傳輸時間T'(我認爲T'必須小於2T),所以我的想法是用log曲線來描述這條曲線,但我不確定它是否正確。

回答

0

我假設你的輸入來自HDFS(?) 我也假設你的輸入數據已經放在HDFS上,所以我們不是在談論從本地文件傳輸輸入數據的時間存儲到HDFS。 然後我假設你的輸入大小N是你所有輸入文件的總大小。 我假設M是地圖任務的數量(根據輸入文件分解成的輸入分割數量)。 如果我們討論地圖任務和減少任務之間的傳輸,那麼我們需要知道地圖操作的輸出大小。一般來說,這個輸出的大小與輸入N的大小無關。

即使我們知道在map任務和reduce任務之間需要傳輸多少總數據,要求傳輸時間不是必然有意義,因爲這種傳輸可以與地圖同時發生並減少任務執行,並且這將是各個地圖任務之間的一系列單獨傳輸,並減少各個地點在不同時間點發生的任務。一個寫得很好的hadoop應用程序的目標是通過重疊計算和通信來隱藏這個傳輸時間。

相關問題