Hadoop壓縮-SNAPPY算法安裝


個人小站,正在持續整理中,歡迎訪問:http://shitouer.cn

小站博文地址:Hadoop壓縮-SNAPPY算法安裝

本篇文章做了小部分更改,僅介紹了Snappy,去掉了安裝過程,不過不必嘆氣,更加詳細的Hadoop Snappy及HBase Snappy的安裝步驟已經另起了一篇文章專門來介紹:Hadoop HBase 配置 安裝 Snappy 終極教程 通過這篇文章,相信你一定會幾乎毫無困難的成功安裝Snappy。

Compression就是在用CPU換IO吞吐量/磁盤空間,如果沒有什么特殊原因推薦針對Column Family設置compression,下面主要有三種算法: GZIP, LZO, Snappy,作者推薦使用Snappy,因為它有較好的Encoding/Decoding速度和可以接受的壓縮率。

Comparison between compression algorithms

Algorithm % remaining Encoding Decoding
GZIP 13.4% 21 MB/s 118 MB/s
LZO 20.5% 135 MB/s 410 MB/s
Zippy/Snappy 22.2% 172 MB/s 409 MB/s

Snappy已經被Google開源,作為一個壓縮庫,它可以利用單顆Intel Core i7處理器內核處理至少每秒250MB~500MB的數據流。

Snappy的前身是Zippy。雖然只是一個數據壓縮庫,它卻被Google用於許多內部項目程,其中就包括BigTable,MapReduce和RPC。Google宣稱它在這個庫本身及其算法做了數據處理速度上的優化,作為代價,並沒有考慮輸出大小以及和其他類似工具的兼容性問題。Snappy特地為64位x86處理器做了優化,在單個Intel Core i7處理器內核上能夠達到至少每秒250MB的壓縮速率和每秒500MB的解壓速率。

如果允許損失一些壓縮率的話,那么可以達到更高的壓縮速度,雖然生成的壓縮文件可能會比其他庫的要大上20%至100%,但是,相比其他的壓縮庫,Snappy卻能夠在特定的壓縮率下擁有驚人的壓縮速度,“壓縮普通文本文件的速度是其他庫的1.5-1.7倍,HTML能達到2-4倍,但是對於JPEG、PNG以及其他的已壓縮的數據,壓縮速度不會有明顯改善”。

Google極力贊揚Snappy的各種優點,Snappy從一開始就被“設計為即便遇到損壞或者惡意的輸入文件都不會崩潰”,而且被Google在生產環境中用於壓縮PB級的數據。其健壯性和穩定程度可見一斑。

Snappy也可以用於和其他壓縮庫-zlib、LZO、LZF、FastLZ和QuickLZ-做對比測試,前提是你在機器上安裝了這些壓縮庫。Snappy是一個C++的庫,你可以在產品中使用,不過也有一些其他語言的版本,例如HaskellJavaPerlPythonRuby

Snappy采用新BSD協議開源。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM