Hbase(二)hbase建表

一、建表高级属性

      下面几个 shell 命令在 hbase 操作中可以起到很到的作用,且主要体现在建表的过程中,看 下面几个 create 属性

    1、bloomfilter 布隆过滤器    

     默认是 NONE 是否使用布隆过虑及使用何种方式, 布隆过滤可以每列族单独启用
     使用 HColumnDescriptor.setBloomFilterType(NONE | ROW | ROWCOL) 对列族单独启用布隆        Default = ROW 对行进行布隆过滤(默认是ROW过滤)
    对 ROW,行键的哈希在每次插入行时将被添加到布隆
    对 ROWCOL,行键 + 列族 + 列族修饰的哈希将在每次插入行时添加到布隆
    使用方法: create 'table',{BLOOMFILTER =>'ROW'}
    作用: 用布隆过滤可以节省读磁盘过程,可以有助于降低读取延迟
    2、versions  

    默认是 1     这个参数的意思是数据保留 1 个 版本,如果我们认为我们的数据没有这么大 的必要保留这么多,随时都在更新,而老版本的数据对我们毫无价值,那将此参数设为 1 能 节约 2/3 的空间
    使用方法: create 'table',{VERSIONS=>'2'}
     附: MIN_VERSIONS => '0'是说在 compact 操作执行之后,至少要保留的版本

    3、compression

      默认值是 NONE 即不使用压缩, 这个参数意思是该列族是否采用压缩,采用什么压缩算 法, 方法: create 'table',{NAME=>'info',COMPRESSION=>'SNAPPY'} , 建议采用 SNAPPY 压缩算法 , HBase 中,在 Snappy 发布之前( Google 2011 年对外发布 Snappy),采用的 LZO 算法,
目标是达到尽可能快的压缩和解压速度,同时减少对 CPU 的消耗;
    在 Snappy 发布之后,建议采用 Snappy 算法(参考《 HBase: The Definitive Guide》),具体 可以根据实际情况对 LZO 和 Snappy 做过更详细的对比测试后再做选择。

    4、TTL

     默认是 2147483647 即:Integer.MAX_VALUE 值大概是 68 年 ,   这个参数是说明该列族数据的存活时间,单位是 毫秒
这个参数可以根据具体的需求对数据设定存活时间,超过存过时间的数据将在表中不在 显示,待下次 major compact 的时候再彻底删除数据
注意的是 TTL 设定之后 MIN_VERSIONS=>'0' 这样设置之后, TTL 时间戳过期后,将全部 彻底删除该 family 下所有的数据,如果 MIN_VERSIONS 不等于 0 那将保留最新的 MIN_VERSIONS 个版本的数据,其它的全部删除,比如 MIN_VERSIONS=>'1' 届时将保留一个
最新版本的数据,其它版本的数据将不再保存。

    5、alter

使用方法:
如 修改压缩算法
disable 'table'
alter 'table',{NAME=>'info',COMPRESSION=>'snappy'}
enable 'table'
但是需要执行 major_compact 'table' 命令之后 才会做实际的操作。

  6、describe/desc

 这个命令查看了 create table 的各项参数或者是默认值。
 使用方式: describe 'user_info'

  7、disable_all/enable_all

disable_all 'toplist.*' disable_all 支持正则表达式,并列出当前匹配的表的如下:
toplist_a_total_1001
toplist_a_total_1002
toplist_a_total_1008
toplist_a_total_1009
toplist_a_total_1019
toplist_a_total_1035
...
Disable the above 25 tables (y/n)? 并给出确认提示

    8drop_all
这个命令和 disable_all 的使用方式是一样的

   9hbase 预分区
默认情况下,在创建 HBase 表的时候会自动创建一个 region 分区,当导入数据的时候, 所有的 HBase 客户端都向这一个 region 写数据,直到这个 region 足够大了才进行切分。一 种可以加快批量写入速度的方法是通过预先创建一些空的 regions,这样当数据写入 HBase
时,会按照 region 分区情况,在集群内做数据的负载均衡。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值