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命令查看表信息

HBase启用压缩的更多相关文章

  1. HBase修改压缩格式及Snappy压缩实测分享

    一.要点 有关Snappy的相关介绍可参看Hadoop压缩-SNAPPY算法,如果想安装Snappy,可以参看Hadoop HBase 配置 安装 Snappy 终极教程. 1. HBase修改Tab ...

  2. Oracle 数据库备份启用压缩以及remap

    1. Oracle数据库进行备份恢复 客户测试环境, 有时候需要从现场copy到公司, 压缩虽然能够减少部分空间大小,但是copy到虚拟机里面也时浪费很大量的磁盘,所以能够在备份恢复的过程中执行压缩最 ...

  3. tomcat启用压缩的方式

    <Connector port="7070" protocol="HTTP/1.1"connectionTimeout="20000" ...

  4. 使sqoop能够启用压缩的一些配置

    在使用sqoop 将数据库表中数据导入至hdfs时 配置启用压缩 hadoop 的命令    检查本地库支持哪些  bin/hadoop checknative 需要配置native    要编译版本 ...

  5. CM记录-Hbase启用安全认证控制

    1.cm-cluster2-HBase-2-HBase 安全授权(hbase.security.authorization)-simple改为true 2.添加配置 1)超级用户-加入root.hba ...

  6. HBase使用压缩存储(snappy)

    在将mysql数据导入到hbase数据的过程中,发现hbase的数据容量增加很快, 原本在mysql存储30G容量的数据导入到hbase一直增加到快150G(还未完全导入,手动结束), 而采用默认3个 ...

  7. 什么是HBASE(三) HBase的压缩和编码

    在存储层面节省空间的处理上,Hbase提供了两种方案,一个是基于key的编码,一个是基于数据块(data block)的压缩.前者用于将key重复部分进行简单处理达到节约空间的目的,后者则是对数据块进 ...

  8. hive启用压缩

    <property> <name>hive.exec.compress.intermediate</name> <value>true</valu ...

  9. WebSocket 启用压缩

    m_client.Compression = CompressionMethod.Deflate;

随机推荐

  1. 手动SQL注入总结

    1.基于报错与union的注入 注意:union联合查询注入一般要配合其他注入使用 A.判断是否存在注入,注入是字符型还是数字型,有没过滤了关键字,可否绕过 a.如何判断是否存在注入 一般有一下几种 ...

  2. 笔记:CSS基础

    一.CSS(层叠式样式表),决定页面怎么显示元素 1.引入方式: 行内样式,在当前标签元素中直接使用 style 的属性. 内嵌方式,在<head>中写样式: 外链式,<link&g ...

  3. [WPF][Rubyer] 写一个自己的 UI 库 (二) - Icon

    前言 制作 WPF 的图标包,主要介绍从 iconfont 下载的图标包导入到 WPF 使用: 1. 添加文件 Ruyber 下添加 自定义控件(WPF) Icon.cs.类 IconType.cs. ...

  4. 6.ssh免密码登录原理图

    ssh免密码登录原理图

  5. Dubbo直连方式

    目录 一.dubbo概述 1. 基本架构 2. dubbo 支持的协议 二.直连方法 三.创建服务提供者 1. 思路 1. 创建maven web 2. pom.xml 3. 创建实体 4. 创建服务 ...

  6. Docker-Docker与IPV6

    公司计划在2020年前完成IPV6化改造,于是我先行查阅了一些资料了解Docker进行IPv6化的可能性. 预计明年正式开始测试. 方法一.使容器中的服务支持IPv6地址 不为容器中的服务特别分配IP ...

  7. python open函数初习

    open("路径","打开方式")  打开方式:'r'只读模式,‘w’写模式,‘a’追加模式 ‘b’二进制模式,‘+’读/写模式.例: fh=open(&quo ...

  8. vmd与ovito的对比

    1.minimize后,lammps生成的data文件 2.pdb:

  9. spring4.1及以下跨域配置

    springMVC4.1及以下,就需要对该请求配置filter,,设置请求头可支持跨域 1.web.xml配置 <!-- 跨域问题解决 --> <filter> <fil ...

  10. route和过滤器的基础知识

    过滤器 1.局部过滤器 在当前组件内部使用过滤器(对某些数据进行装饰) //声明 filters:{ '过滤器的名字':function(val,a,b){ //a 就是will ,val就是当前的数 ...