溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hadoop中最不容錯過的壓縮知識

發布時間:2020-05-10 19:13:22 來源:網絡 閱讀:525 作者:caosheng03 欄目:大數據


  隨著大數據時代的來臨,數據體量越來越大,處理這些數據會越來越受到網絡IO的限制,為了盡可能多的處理更多的數據我們必須使用壓縮。那么壓縮在Hadoop里面是不是所有格式都適用呢?它都有哪些性能呢?

壓縮在sqoop里面可以做,在hive和impala里面也可以做。那么什么情況下我們會用壓縮呢?通常在數據量非常大,我們通過壓縮去減小數據量,從而達到將來去使用數據的時候,減少數據傳輸IO的情況下去使用。壓縮對于性能的提升以及存儲效率的提高也有作用。

一、數據壓縮

每種文件格式都支持壓縮,壓縮將減少磁盤空間的占用。但是壓縮本身會帶來CPU的一些開銷,所以壓縮需要在CPU時間和帶寬/存儲空間之間進行權衡。比如:

(1)有些算法會花費很長的時間,但節省更多的空間.

(2)有些算法更快,但節省的空間有限。

這個怎么來理解呢?我們打個比方,假如說1T的數據壓縮成100G,可能需要10分鐘。如果壓縮成500G可能需要1分鐘。請問你選擇那種方式?所以我們就需要在CPU時間和帶寬之間進行一個權衡,當然這里不存在哪種方式的好壞,只是我們根據自己使用的需求去選擇。

另外,壓縮對性能很有好處:很多Hadoop作業是受IO限制的,使用壓縮可以每個IO操作處理更多的數據,壓縮也可以改進網絡傳輸的性能。

二、壓縮Codecs

壓縮算法的實現被稱為codec,是Compressor/Decompressor的簡寫。很多codecs在Hadoop中很常用,每種都有不同的性能特性。但是,不是所有的Hadoop工具都是跟所有codecs兼容的。Hadoop中常用的壓縮算法有bzip2、gzip、lzo、snappy,其中lzo、snappy需要操作系統安裝native庫才可以支持。

在這里我們看一下不同壓縮工具的性能:

Hadoop中最不容錯過的壓縮知識

Bzip2和GZIP是比較消耗CPU的,壓縮比最高,GZIP不能被分塊并行的處理;Snappy和LZO差不多,稍微勝出一點,CPU消耗的比GZIP少。通常情況下,想在CPU和IO之間取得平衡的話,用Snappy和LZO比較常見一些。這里我重點推薦使用Snappy,因為它可以提供很好地壓縮性能,而且壓縮的數據是可以分片的,對于后期的運行處理有很大的作用。

另外要注意:對于熱數據,速度更重要,1秒壓縮40%的數據比10秒壓縮80%的數據更好。

三、Sqoop使用壓縮

Sqoop使用--compression-codec標志

示例:

--compression-codec
org.apache.hadoop.io.compress.SnappyCodec

四、Impala和Hive使用壓縮

Impala和Hive使用壓縮,需要我們在創建表的語法中去指定??赡軐τ诓煌膲嚎s而言,我們指定的屬性和語法會有不同。

注意:Impala在內存里查詢數據-壓縮和解壓縮都在內存

Impala示例:

Hadoop中最不容錯過的壓縮知識

建議大家平時多關注一些大數據的相關知識,不斷提升和改善自己的知識架構,我自己平時喜歡看“大數據cn”這個微信公眾號,里面內容對于我而言很不錯,也推薦大家看看。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女