回覆列表
  • 1 # 悅悅聊科技

    1. 壓縮成為必須

    對資料的3個關鍵特徵描述 3V:volume、variety和value。

    volume,資料量與日俱增,在於智慧手機、Internet和感知器等的使用。

    variety,大資料的資料格式,音訊、視訊、影象等。

    value,資料近乎實時的產生以使得有用資訊能夠服務需要。

    大資料不僅僅帶來了新的資料型別和儲存機制,也帶來了新種類的資料分析。現在資料增長太快了,資料的處理和管理成為一種挑戰,傳統的資料儲存和分析是低效的。在傳統資料和大資料之間存在不同,大資料面臨的挑戰包括資料的隱私和安全、資料儲存、從大資料中創造商業價值等。

    伴隨大資料的增長,壓縮成為必然。壓縮的優勢在於:

    壓縮的資料使用較少的頻寬。

    壓縮的資料使用較少的磁碟。

    加速資料在磁碟和網路上的傳輸。

    降低成本。

    2. hadoop中的壓縮型別

    大資料包含複雜的、非結構化的資料,因此資料壓縮很重要,codec表示資料壓縮和解壓縮演算法的實現。一些壓縮格式是可分割的,這樣的壓縮對大檔案在效能上是較好的。hadoop支援的一般壓縮演算法如下:

    LZO

    Gzip

    LZ4

    Snappy

    2.1 LZO

    壓縮格式由大量小塊壓縮資料組成,塊大小對壓縮和解壓資料是一樣的。它的壓縮和解壓縮速度是很快的而且是可分割的,LZO是一個用ANSI C編寫的很少丟失資料的壓縮庫。它的原始碼和壓縮資料格式使得它在平臺之間遷移是非常便攜的。LZO的特徵如下:

    資料壓縮類似於其他普遍的壓縮技術,比如gzip、bzip

    能夠非常快速的解壓縮

    除去源和目的buffer外,解壓縮不需要額外的記憶體

    對產生的預壓縮資料有多種壓縮level,因此帶來了有競爭力的壓縮比

    還有一種壓縮level僅僅為8KB資料壓縮

    演算法是執行緒安全的

    演算法是資料無損的

    LZO是便攜的

    Lzop是使用LZO作為壓縮服務的檔案壓縮器,它是最快的壓縮和加壓縮器。

    2.2 GZIP

    GUN zip,基於DEFLATE演算法,LZ77和Huffman編碼的結合。它比LZO壓縮效能好但是慢。如果原生hadoop lib在CLASSPATH中不可用,那麼java將使用java自身的GZIP。

    它在檔案中尋找相似的字串,臨時的替換這些字串以使得檔案變小,第二個字串用前一個字串的指標替換,形為(distance,length)。文字和匹配長度以Huffman樹壓縮,而匹配距離以另一棵樹壓縮,這些樹在每一塊的塊首以緊湊的格式儲存。

    deflate是壓縮演算法而inflate是解壓縮演算法,Gzip檔案的字尾為.gz,各種可用的格式如下:

    tar

    shar

    zip

    tar.gz

    tar.z

    一種自由、可用的、高質量資料壓縮器。壓縮率一般在10%~15%,壓縮的資料塊大小在100~900KB。Bzip2的效能是不對稱的,解壓快。它支援儲存媒介錯誤有限恢復,如果你試圖從備份的磁帶或者磁碟中修復資料且資料存在錯誤,bzip2依然能夠解壓檔案的這些部分如果硬體沒有收到損害。它也是便攜的,以塊來壓縮大檔案,塊的大小影響壓縮率和壓縮、解壓縮需要的記憶體。

    2.4 LZ4

    無丟失資料的壓縮演算法,強調壓縮解壓縮速度,壓縮速度為每core 400MB/S~GB/s

    Token為1位元組的值,Field為Literal長度,其值為0 則沒有後面的Literal,其值為15則更多地Byte被新增,每一額外欄位代表0~255之間的一個數字以計算總長。Literals為未壓縮的文字,Offset代表匹配副本的位置,1 意味著當前位置-1 欄位,最大值為65535 。

    2.5 Snappy

    非常高速、合理的壓縮器。

    3 總結

    gzip是普通的壓縮器,bzip壓縮效能好於gzip但速度慢,LZO由很多小塊組成。

    LZO和Snappy的壓縮速度好但壓縮效率低,解壓是gzip的兩倍。Snappy解壓縮好於LZO

    Compresssion formatToolAlgorithmFile extentionSplitable

    GzipgzipDEFLATE.gzNo

    bzip2bzip2bzip2.bz2Yes

    LZOlzopLZO.lzoYes if indexed

    SnappyN/ASnappy.snappyNo

  • 2 # 冷巷雨未停灬

    一般常見的有以下幾種:

    ✧ gzip:壓縮率高,消耗CPU,壓縮解壓速度慢

    ✧ LZO:壓縮率居中,壓縮解壓速度較快

    ✧ Snappy:壓縮率低,壓縮解壓速度快

  • 中秋節和大豐收的關聯?
  • 有哪些軟體可以快速租車?