在云計算課程中被老師問道:Hadoop中檔案分塊大小為什么要設為64M?
(塊大小可調整,我是知道的)
我給的回答是:
(1)為了使檔案塊傳輸時間遠遠大于磁盤尋址時間,這樣傳輸檔案塊的時間就取決于傳輸時間而不是尋址時間。
(2)若塊過大,也不適合,此時檔案塊過大,單個節點上處理資料的時間會過長,另一方面整個集群系統的任務數會介紹,使得分配到任務的節點過少,這樣不能充分利用集群,達不到應有的集群利用率。
(3)若塊過小,這會產生大量任務,且在map程序中產生的中間結果也會大幅增加,因此增加了datanode與namenode之間的通信開銷,也不利于集群。
(4)Hadoop早期設為64M是考慮到硬體兼容性問題,現在隨著硬體的提升,可以設定為更大的塊大小。
我回答了這四點,但導師一直不滿意,讓繼續思考。
已經想好久了,還有哪些原因,主要是為什么設為64,這個數字?
求高人指點,萬分感謝!
uj5u.com熱心網友回復:
太大了不好處理,太小了也不好處理uj5u.com熱心網友回復:
能說明下原因嗎,最好從技術角度回答下,真是感謝啦uj5u.com熱心網友回復:
請問有教程,或詳細資料可看嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/100160.html
標籤:GAE
上一篇:spark運行自例子
下一篇:百度云盤 凈網 和諧視頻
