常用的檔案和壓縮格式分析 優化資料

2021-09-03 08:16:54 字數 1741 閱讀 4973

回顧了一下之前做的專案,在資料開發方面,做相應的資料優化是很有必要的,在現在企業當中對於集群來說,磁碟、記憶體、網路都是比較重要的資源,但真正的瓶頸是磁碟,因為對資料做處理時,資料不可能一直放於記憶體,所以對磁碟空間以及磁碟i/o的優化,就是乙個非常重要的環節。因此在獲取資料的同時,按需求選擇相應的資料檔案格式也就變得尤為重要。所以今天總結下常用的檔案格式 和壓縮格式的儲存形式及優缺點。

首先總結下常用檔案格式:

1.txt格式(文字檔案)

這個格式應該是最常見的格式了。hdfs預設就是用txt格式經行檔案管理的。

面向行方式儲存,可以切分計算(資料切片)。

缺點:無壓縮,佔空間大,傳輸壓力大、資料解析的開銷大。

應用:在企業中很少把大量檔案以txt格式儲存。適於一般練習使用。

2.seq格式(sequencefile序列檔案格式)

面向行方式儲存,可切分計算。

優點:原生支援(hadoop集群自帶),二進位制儲存,支援塊和行的壓縮。

缺點:本地檢視不方便,會把小檔案k,v儲存(《檔名,內容》),不易檢視內部資料。

應用:在map輸出的時候產生中間檔案的時候用這種格式。

3.rc格式(rcfile檔案格式)

面向列方式儲存,可切分計算。

優點:資料載入快、查詢快,(一般查詢是按字段查詢,即查詢一列),空間利用率高、高負載能力。

缺點:所以在讀取所有列的情況下,rcfile的效能反而沒有sequencefile高。

應用:學習和生產均可。

4.orc格式(orcfile檔案格式)

面向列方式儲存,可切分計算。

優點:rc格式的公升級版本,包括了rc的一切優點,並且進一步提高了讀取、儲存效率、新資料型別的支援。

缺點:應用:學習和生產均可。

再介紹壓縮格式之前,普及乙個知識點!

壓縮率:檔案壓縮後的大小與壓縮前的大小之比。

比如:把100m的檔案壓縮後是90m,壓縮率為90/100*100%=90%

壓縮率一般是越小越好,但是壓得越小,解壓時間越長。

常用的壓縮格式:

1.lzo(.lzo)

可切分計算

優點:壓縮/解壓速度快,壓縮率合理。

缺點:壓縮率比gzip低,非原生(需要手動安裝)。

應用:單個檔案越大,優點越明顯,壓縮完成後》=200m最好。

2.bzip2(.bz2)

可切分計算。

優點:壓縮率高(超過gzip),原生支援,用 linuxbzip可解壓操作。

缺點:壓縮/解壓速率慢。

應用:對處理速度要求不高,需求高壓縮率的情景。

3.gizp(.gz)

不可切分計算。

優點:壓縮/解壓速度快,原生支援,使用方便。

缺點:對cpu要求高。

應用:壓縮完成後<=128m檔案最好。

不可切分

優點:壓縮/解壓速度快,壓縮率合理

缺點:壓縮率比gizp低,非原生

應用:適合作為map —>reduce或是job資料流中間的資料傳輸格式。(對map輸出檔案壓縮,map優化)

不顯示rar檔案 檔案壓縮及常用格式

日常操作中我們經常使用到檔案壓縮操作,其使用一些特定的演算法來減小檔案的大小,可以提高傳輸資料時的速率和減少資料在一些儲存機制上占有的空間大小,實現空間利用最大化。比如 如果你想通過郵箱傳送乙個資料夾,你會發現可能行不通,怎麼辦呢,難道將資料夾內的內容乙個個傳送嗎?顯然不用,因為郵箱不支援資料夾這種...

Linux 下常用壓縮格式的壓縮與解壓

tar 解包 tar xvf filename.tar 打包 tar cvf filename.tar dirname 注 tar是打包,不是壓縮!gz 解壓1 gunzip filename.gz 解壓2 gzip d filename.gz 壓縮 gzip filename tar.gz 解壓 ...

Unix下常用壓縮格式的壓縮與解壓縮方法(轉

解包 tar xvf filename.tar 打包 tar cvf filename.tar dirname 解壓1 gunzip filename.gz 解壓2 gzip d filename.gz 壓縮 gzip filename 解壓 tar zxvf filename.tar.gz 壓縮 ...