设为首页 加入收藏

TOP

hbase列族高级配置
2019-04-29 01:49:41 】 浏览:43
Tags:hbase 高级 配置

0 先看如下desc后的列族属性字段:

hbase(main):003:0> describe 'stu'
Table stu is ENABLED                                                            
stu                                                                             
COLUMN FAMILIES DESCRIPTION                                                     
{NAME => 'base', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATIO
N_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL
 => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY =>
 'false', BLOCKCACHE => 'true'}                                                 
1 row(s) in 0.5000 seconds

1 blocksize:

数据块大小配置优化: blocksize默认是64K
数据块越小,索引越大,占用内存也越大, 如果随机查询,比如某个表+某个ID方式, 如果是顺序scan扫描区间,那么设置大一点 否则保持默认值

create "stu",{NAME => "cf",BLOCKSIZE =>"65536"} 设置stu cf列族块大小为64K,默认单位是字节,采用这种细粒度,目的是块操作时更加有效加载和缓存数据,
不依赖于hdfs块尺寸设计,仅仅是hbase内部的一个属性。

2 数据块缓存的配置: bloockcache

数据块缓存的配置:
如果经常顺序访问或很少被访问,可以关闭列族的缓存,列族缓存默认打开

create "stu",{NAME => "cf",BLOCKCACHE =>"false"}

3 激进缓存的配置
可以选择一个列族赋予更高的优先级缓存, 激进缓存,表示优先级更高,IN_MEMORY默认是false

create "stu",{NAME => "cf",IN_MEMORY =>"true"}

4 布隆过滤器: BLOOMFILTER 开启时,会对数据产生一个标记,如果没有标记在去表里查数据, 反向测试(索引)有两种: 有 / 不知道, 会记录数据的信息,
布隆过滤器的配置:
减少硬盘读取数据带来的开销,对储存的数据块做反向测试,占用额外的空间

create "stu",{NAME => "cf",BLOOMFILTER =>"ROWCOL"}

5 TTL 生存时间,当数据记录一段时间想删除掉,是以s为单位的,设置一个时间 超过后会被设置为删除标记

生存时间配置:(TTL)
超过这个时间设置的就会在下一次大合并中被删除

create "stu",{NAME => "cf",TTL =>"18000"}

6 压缩
压缩可以节省空间,读写数据会增加CPU的使用率 LZO,SNAPPY,GZIP

create "stu",{NAME => "cf",COMPRESSION =>"GZIP"}

7 单元时间版本: 0.96版本默认是3个, 0.98版本是1, 要根据业务来划分,版本是历史记录,版本增多意味空间消耗。

单元时间版本:
默认维护一个时间版本

create "stu",{NAME =>"cf",VERSIONS =>5}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HBase 二级索引的设计 (案例讲解) 下一篇HBase安装和基础编程

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目