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. 不安装证书如何通过模拟器+Fiddler抓包APP的HTTPS请求?

    模拟器抓取https方法 说明:为了解决安卓手线上不能抓取https请求,以下整理通过模拟器抓取https请求方法如下:前置条件:安卓模拟器:夜神抓包工具:Fiddler汉化中文升级版1无需FIDDL ...

  2. 深入理解 Java 内存模型 JMM 与 volatile

    Java 内存模型(Java Memory Model,简称 JMM)是一种抽象的概念,并不真实存在,它描述的是一组规范或者规则,通过这种规范定义了程序中各个变量(包括实例字段.静态字段和构成数组对象 ...

  3. 关于Spark RDD 的认识

    一.基本认识 RDD 是Spark大数据计算引擎中,抽象的一种数据结构. RDD(Resilient Distributed Dataset),中文意思是弹性分布式数据集,它是Spark中的基本抽象. ...

  4. 什么?Java9这些史诗级更新你都不知道?Java9特性一文打尽!

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  5. golang gorm 基本使用

    原文链接:golang orm 框架之 gorm gorm 用法介绍 库安装 go get -u github.com/jinzhu/gorm 数据库连接 import ( "github. ...

  6. javascript 数据结构与算法---二叉数

    二叉树,首先了解一些关于二叉数的概念(来自百度百科) 1. 二叉树(Binary tree)是树形结构的一个重要类型 2. 定义: 二叉树(binary tree)是指树中节点的度不大于2的有序树,它 ...

  7. UnitTest单元测试框架解析【实用篇】

    UnitTest是展开自动化测试的基础——这个框架很重要!首先我们先自己写一个测试类: 1.被测试类 Widthget.py: # coding: utf-8class Widthget: def _ ...

  8. 揭秘!containerd 镜像文件丢失问题,竟是镜像生成惹得祸

    导语 作者李志宇,腾讯云后台开发工程师,日常负责集群节点和运行时相关的工作,熟悉 containerd.docker.runc 等运行时组件.近期在为某位客户提供技术支持过程中,遇到了 contain ...

  9. 记录学习docker命令的随笔

    docker安装与启动 安装docker yum包更新到最新  sudo yum update 安装需要的软件包  sudo yum install -y yum-utils device-mappe ...

  10. 记一次Layui分页

    <link rel="stylesheet" href="/layui/css/layui.css"> <div class="ro ...