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