HBase啟用壓縮


1. 壓縮算法的比較

算法 壓縮比 壓縮 解壓
GZIP 13.4% 21MB/s 118MB/s
LZO 20.5% 135MB/s 410MB/s
Snappy/Zippy 22.2% 172MB/s 409MB/s

總結:

1)GZIP的壓縮率最高,但它是CPU密集型的,對CPU的消耗較多,壓縮和解壓速度也慢;

2)LZO的壓縮率居中,比GZIP要低一些,但是壓縮和解壓速度明顯要比GZIP快很多,其中解壓速度快的更多;

3)Zippy/Snappy的壓縮率最低,而壓縮和解壓速度要稍微比LZO要快一些

所以,一般情況下,推薦使用Snappy和Zippy壓縮算法。

2. hbase表啟用壓縮的步驟

這里分為兩種情況:一是在創建表時指定壓縮算法;二是在創建表后指定壓縮算法或者修改壓縮算法。

2.1 創建表時指定壓縮算法

create 'test', {NAME => 'info', VERSIONS => 1, COMPRESSION => 'snappy'}
# 表創建之后,使用describe命令查看表信息
describe 'test'

2.2 創建表后指定或修改壓縮算法

  1. disable需要修改的表
disable 'test'

注意,如果表較大,disable需要一些時間,請耐心等待
2) 使用alter命令進行更改

alter 'test', NAME => 'info', COMPRESSION => 'snappy'

NAME即column family,列族。HBase修改壓縮格式,需要一個列族一個列族的修改,注意大小寫,不要弄錯了。如果修改錯了,將會創建一個新的列族,且壓縮格式為snappy。當然,假如你還是不小心創建了一個新列族的話,可以通過以下方式刪除:

alter 'test', {NAME=>'info', METHOD=>'delete'}
  1. 重新enable表
enable 'test'
  1. 對表進行major_compact操作,使壓縮生效
major_compact  'test'

注意,如果表的數據較多,該操作需要較長時間,所以盡量選擇一個不忙的時間,避免對服務造成影響。

修改完成后,可使用describe命令查看表信息


免責聲明!

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



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