一、文件壓縮對於hadoop集羣來講有很大的好處,1能夠減小磁盤存儲文件空間 2.能夠加速數據網絡和磁盤上的傳輸速度。api
在集羣中須要權衡壓縮和解壓縮的時間,hadoop有不一樣的解壓縮方法須要權衡一下 見第四章壓縮。網絡
二、gzip格式壓縮不支持分片,這樣會失去Map數據的本地性,大大下降了執行效率。oop
三、Text類型通常認爲是Writable的替代類型,但並非一個好的替代 一、他不支持超過32767的字節編碼,2 它使用的是UTF-8版本修訂的。編碼
四、writeable類型底層實現了序列化和comparable接口 這樣 在序列化完成以後,他會調用comparable進行比較按照大到小的順序。線程
五、儘管大多數MR程序使用Writeable類型的鍵和值但這並非MR api強制的,事實上可使用任何類型,只要可以實現類型的的二進制流的轉換就能夠。爲實現這一功能 hadoop有本身的機制serialization.,它定義了從類型到Serializer實例將對象轉換爲字節流的和Deserializer實例將字節流轉換爲對象的映射方式。對象
六、jobtracker和tasktracker之間是有心跳通訊的,一般最小是5秒,不過也要根據集羣的規模而定,排序
七、map的過程並非簡簡單單將數據寫入磁盤,他利用緩衝的方式寫到內存中,並處於效率的考慮進行預先排序,默認狀況下每一個map任務都有一個環形緩衝區,緩衝區的默認值大小是100m能夠有io.sort.mb調整該值的屬性,一旦緩衝區的的內容達到閥值的80%,一個後臺線程調用spill方法將內容寫入到磁盤中,map會產生阻塞直到寫磁盤過程完成。這樣有什麼好處呢,這樣的話就能夠避免當文件很小時直接在內存中取了,效率更高。接口
八、在R階段R任務須要在集羣上若干個map任務的輸出做爲特殊的分區文件,因爲每一個任務完成的可能不一樣,所以只要有一個任務完成,R任務就會開始複製,這是複製階段,R任務有少許的複製線程,默認值是5個,所以可以並行取得map輸出。ip