Hbase压缩文件
Posted 一个程序媛的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hbase压缩文件相关的知识,希望对你有一定的参考价值。
首先来点Hbase常用命令:
查看所有表:list 查看表结构 describe 'stu' 统计条数: count 'stu', INTERVAL => 100000 hbase org.apache.hadoop.hbase.mapreduce.RowCounter 'stu' 清空表:truncate 'stu' 删除表: disable 'int_s6a' drop 'int_s6a' exists 'int_s6a' 验证表是否存在 用正则表达式删表 disable_all 'int_*' drop_all 'int_*' disable 'IDX_STU' drop 'IDX_STU' exists 'IDX_STU'
我使用的是Hbase1.24,默认有三种文件存储格式NONE 、GZ、 LZ4
hbase表默认存储位置在hdfs:///hbase/data/default
查看表未压缩的文件大小:
hdfs dfs -du -h /hbase/data/default 298.5 M 298.5 M /hbase/data/default/stu
修改压缩格式:
1. disable 'stu' 2. alter 'stu', NAME => 'cf1', COMPRESSION => 'snappy' 需要手动安装snappy alter 'stu', NAME => 'cf1', COMPRESSION => 'LZO' 需要手动安装lzo NONE GZ LZ4可以使用,随便选一个压缩算法执行 alter 'stu', NAME => 'cf1', COMPRESSION => 'NONE' alter 'stu', NAME => 'cf2', COMPRESSION => 'NONE' alter 'stu', NAME => 'cf1', COMPRESSION => 'gz' alter 'stu', NAME => 'cf2', COMPRESSION => 'gz' alter 'stu', NAME => 'cf1', COMPRESSION => 'LZ4' alter 'stu', NAME => 'cf2', COMPRESSION => 'LZ4' 注意:列簇名必须是已经存在的且要写正确,否则会新建一个列簇 3. enable 'stu' enable表后,HBase表的压缩格式并没有生效,还需要一个动作 4. major_compact 'stu' 5. describe 'stu' 查看压缩格式是否修改成功 只需要这5步之后可完成压缩,stu表压缩之后只有162.4 M
而且经过测试:
NONE GZ LZ4三者中LZ4算法最好,可以节省空间和提高速度
最后提一句:如果使用Phoenix创建索引(索引本质也是一张表),也可以执行压缩格式可以节省空间和提高速度:
phoenix sql创建压缩索引表:
create index "idx_stu" on "stu"("cf1"."name") compression='LZ4';
----end---
以上是关于Hbase压缩文件的主要内容,如果未能解决你的问题,请参考以下文章