檔案壓縮有兩個好處:減少儲存檔案所需的磁碟空間,並加速資料在網路和磁碟上的傳輸在儲存中,所有演算法都要權衡空間/時間;在處理時,所有演算法都要權衡cpu/傳輸速度
以下列出了與hadoop結合使用的常見壓縮方法:
壓縮格式
工具演算法
副檔名
是否可切分
deflate
無deflate
.deflate
否gzip
gzip
deflate
.gz否
bzip2
bzip2
bzip2
.bz2
是lzo
lzop
lzo.lzo
否lz4
無lz4
.lz4否無
否上述**中,其他的幾列倒容易理解,但是「是否可切分」具體是什麼概念呢?
官方的說法:對應的壓縮演算法是否可以搜尋資料流的任意位置並進一步往下讀取資料。
以下舉個例子來進行說明:
有乙個需要注意的,就是lzo壓縮的,我們會面臨相同的問題,因為這個壓縮格式也不支援資料讀取和資料流同步。但是,在預處理lzo檔案的時候使用包含在 hadoop lzo 庫檔案中的索引工具是有可能的,該工具構建了切分點索引,如果使用恰當的任務輸入格式,那麼可以有效實現檔案的可切分特性。
檔案壓縮有兩個好處:減少儲存檔案所需的磁碟空間,並加速資料在網路和磁碟上的傳輸在儲存中,所有演算法都要權衡空間/時間;在處理時,所有演算法都要權衡cpu/傳輸速度
Hadoop壓縮格式
hadoop的常用壓縮格式 壓縮格式 可分割演算法 副檔名linux工具 gzip 否deflate gzgzip lzo是 加索引 lzo.lzo lzop否無 bzip2 是bzip2 bz2 bzip2 deflate 否deflate deflate 無zip 是zip zip zip各個壓...
hadoop中的檔案壓縮
1 減少磁碟的儲存空間 2 減少磁碟io和網路io 3 加快資料傳輸速度 磁碟和網路 如果小檔案多明顯檔案傳輸會明顯降低 1 考慮檔案的壓縮效率 壓縮快慢 2 考慮檔案的壓縮比 解壓快慢 第一點好理解,壓縮的快肯定好 第二點是壓縮比,舉例現在有乙個10g的檔案,一種壓縮演算法能把他壓縮成1g,其他壓...
Hadoop中的壓縮和解壓縮
壓縮就是通過某種演算法,將原始的檔案變下,使原始的檔案變小。解壓就是將壓縮後的檔案變成原始檔案的過程。1.hadoop當中哪些過程需要用到壓縮和解壓?map端 壓縮後的原始檔案首先切成塊,然後再解壓作為輸入檔案輸入給map端,等map端將資料處理完成後然後再壓縮,放在硬碟中。shuffle過程 壓縮...