现在的位置: 首页 > 综合 > 正文

hbase操作简介

2019年05月22日 ⁄ 综合 ⁄ 共 1858字 ⁄ 字号 评论关闭

(一)优化:

(1)hbase的数据在hbase中是按照行健,列限定符排序的,在行健的设计是,尽量让相同的数据放在一起,提高系统的数据加载速度。

(2)通过多表做缓存提高索引速度

(3)过滤器的使用:在reginserver端进行工作,减少了网络IO,但没有减少磁盘IO(已经优化不少了)

           实现:扩展FilterBase()抽象类   调用顺序:

           (1)boolean filterRowKey(byte[] buffer,int offset,int length) 

           (2)ReturnCode filterKeyValue(KeyValue v)   确定keyvlaue要转化的类型

           (3)void filterKey(LIst<KeyValue kvs>)    根据ReturnCode对KeyValue进行转化

           (4) boolean  filterRow()  如果返回true将过滤掉当前的行                                                           

           (5)boolean filterAllRemaining()  如果已经找到预期的结果则接下去的就不解析了

(4)预装过滤器

  (4-1)RowFilter

    Filter filter=new RowFilter(CompareFilter.CompareOp.EQUAL,new RegexStringCOmparator(".*foo'))

  (4-2)前缀过滤器

String prefix="a";
Scan scan=new Scan(prefix.getBytes());
Scan.setFIlter(new ProfixFIlter(refix.getBytes()))

  (4-3)限定符过滤器

FIlter filter=new QualifierFIlter(CompareFIlter.ComparaOp.LESS_OR_EQUAL,new BinaryComparator(Bytes.toBytes("colqual20'))

  (4-4)值过滤器

FIlter filter=new ValueFIlter(CompareFIlter.ComparaOp.EQUAL,new BinaryComparator(Bytes.toBytes("foo'))

(4-5)时间戳过滤器

List<long> time=new ArrayList();
time.add(100L);
time.add(200L);
Filter filter=new TimestampsFilter(time);

(二)hbase表设计

(1) creat  'xxxx',{NAME=>'XXXX',BLOCKSIZE=>'65536'}   将表的存储快的大小设置为65536  64KB

(2)creat  'xxxx',{NAME=>'XXXX',BLOCKCACHE=>‘false’} 将标的缓存关闭
(3)creat  'xxxx',{NAME=>'XXXX',IN_MEMORY='true'} 激进缓存   在缓存块中拥有较高的有限级

(4)creat  'xxxx',{NAME=>'XXXX',BLOOMTILTER=>‘ROWCOL’} 不隆过滤器,对列族进行反向测试(测试数据快中是否有要的数据)

(5)creat  'xxxx',{NAME=>'XXXX',TTL=>'18000'} 生存时间  早于这时间的数据就会咋下一次大合并的时候删除  (以秒为单位的)

(6)creat  'xxxx',{NAME=>'XXXX',COMPRESSION=>'SNAPPY'} 设置对表进行压缩(hfile)   压缩方法:lzo,snappy,gzip。要所的数据是存放在硬盘上的

(7)creat  'xxxx',{NAME=>'XXXX',VERSION=>'1'} 设置hbase要维护几个和时间版本的数据  1表示维护一个版本

(8)creat  'xxxx',{NAME=>'XXXX',VERSION=>'1',TTL=>'18000'}  可以同时设置多个属性  不限与这两个

(9)creat  'xxxx',{NAME=>'XXXX',VERSION=>'5' MIN_VERSION=>"1"}  如果在列族上设置了TTL,如果当前的数据都遭遇TTL的时间,那么至少有min_verison的最新数据会倍保留

抱歉!评论已关闭.