Hbase之文件压缩

hbase为什么压缩文件:

  • 1.节省HDFS的存储空间,缓解存储压力
  • 2.减少网络传输的数据,减轻网络传输负载

HBase配置压缩前hadoop需要支持压缩,关于hadoop的压缩可以参考:第五记·Hadoop SSH免秘钥配置以及本地native配置

hbase什么时候需要压缩:

HBase压缩的三个阶段:

  • 1.在数据进入HDFS之前进行压缩
  • 2.在MapRecduce的shuffle过程中:Map完成 Reduce开始阶段 数据在节点之间传输的时候进行压缩
  • 3.数据处理完成存到HDFS之上的时候进行压缩

1、查看Hadoop是否支持压缩:

$ bin/hadoop checknative

结果
点个赞再走呗!!!

2、检查当前HBase是否支持压缩:

$ bin/hbase org.apache.hadoop.util.NativeLibraryChecker  

随便说几句-_-

** 3、安装snappy:**

1.首先解压 hadoop-snappy-0.0.1-SNAPSHOT.tar.gz

$ tar -zxf /opt/software/hadoop-snappy-0.0.1-SNAPSHOT.tar.gz ./  #我这解压到hadoop下

在这里插入图片描述

2.声明配置窗口环境变量

export HBASE_HOME=/opt/modules/apache/hbase-1.2.1
export HADOOP_SNAPPY_HOME=/opt/modules/apache/hadoop-2.7.3/hadoop-snappy-0.0.1-SNAPSHOT
export HADOOP_HOME=/opt/modules/apache/hadoop-2.7.3

3.将snappy里面的jar拷贝到hbase下面的lib里

$ cp /opt/modules/apache/hadoop-2.7.3/hadoop-snappy-0.0.1-SNAPSHOT/lib/hadoop-snappy-0.0.1-SNAPSHOT.jar lib/

4.在hbase的lib目录下创建native文件夹

$ mkdir lib/native

5.设置软连接

ln -s $HADOOP_HOME/lib/native $HBASE_HOME/lib/native/Linux-amd64-64

6.再次查看是否支持压缩

7.查看表支持那种格式的压缩
在这里插入图片描述
8.测试压缩文件

$ bin/hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://hadoop01.com:8020/test.txt snappy 

在这里插入图片描述
9.创建两张表一张支持压缩 一张不支持

hbase(main):004:0> create 'hbase01:t2',{NAME=>'f1'}
hbase(main):005:0> create 'hbase01:t3',{NAME=>'f1',COMPRESSION => 'snappy'}

//导入数据 更改表的信息
disable 'test'	 #禁用
alter 'test', NAME => 'f', COMPRESSION => 'snappy' 	#针对列簇修改COMPRESSION
enable 'test'	#启用
major_compact 'test' 	#合并

原文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值