傳輸、存儲都需要
Writable接口
Avro框架:IDL,版本支持,跨語言,JSON-linke
能夠減少磁盤的占用空間和網(wǎng)絡(luò)傳輸?shù)牧?/p>
Compressed Size, Speed, Splittable
gzip, bzip2, LZO, LZ4, Snappy
要比較各種壓縮算法的壓縮比和性能
重點:壓縮和拆分一般是沖突的(壓縮后的文件的block是不能很好地拆分獨立運行,很多時候某個文件的拆分點是被&#x#x62C6;分到兩個壓縮文件中,這時Map任務(wù)就無法處理,所以對于這些壓縮,Hadoop往往是直接使用一個Map任務(wù)處理整個文件的分析)
Map的輸出結(jié)果也可以進行壓縮,這樣可以減少Map結(jié)果到Reduce的傳輸?shù)臄?shù)據(jù)量,加快傳輸速率
磁盤和網(wǎng)絡(luò)很容易出錯,保證數(shù)據(jù)傳輸?shù)耐暾砸话闶峭ㄟ^CRC32這種校驗法
每次寫數(shù)據(jù)到磁盤前都驗證一下,同時保存校驗碼
每次讀取數(shù)據(jù)時,也驗證校驗碼,避免磁盤問題
同時#x65F6;每個datanode都會定時檢查每一個block的完整性
當發(fā)現(xiàn)某個block數(shù)據(jù)有問題時,也不是立刻報錯,而是先去Namenode找一塊該數(shù)據(jù)的完整備份進行恢復(fù),不能恢復(fù)才報錯