码迷,mamicode.com
首页 > 其他好文 > 详细

什么是HBase(四) HBase的业务工具

时间:2018-04-15 17:59:58      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:维护   数字   reduce   内容   key   img   技术   多个   设计要点   

HBase的工具
HBase过滤器;本质上是将过滤查询下放到各个region server上面去做;注意PageFilter需要放到最后;
HBase的列值过滤器只是对有这列的数据有效,如果某行数据并没有该列,则认为是匹配;那么整行数据都显示出来;
对于多个列值组合查询,使用FilterList来进行合并。
HBase既具有单元格的自在性,又因为每个单元格都具有rowkey而同时具有“表”的性质。
计数器:HBase提供了指令专门用于一列增加指定数字;HBase来做这件事情好处是可避免并发;
协处理器(coprocessor),协处理分为两类,一类是拦截器,可以在PUT,SCAN的前后添加pre方法和post方法;另外一类是Endpoint,部署在各个RS的程序都继承一个接口;调用方只要在代码中通过指定该接口的函数,来实现在各个RS中执行改程序的该方法;
技术分享图片
Schemal的设计要点
避免单调递增,这样导致向同一个点写,如果数据量大将会造成单点负载高;
 
二级索引
1)client-manager,就是手动维护一个二级索引表,所谓的二级索引表就是内容做为主键的一部分(一般会因为设计唯一性,而将列的几个部分拼在一起作为key),rowkey做为一列值;如果检索到了某个值就根据rowkey,到真实表中把这一行的数据都检索出来;
2)协处理器,在PUT,delete等操作中将数据插入到一章自维护的表作为二级索引;查询也是下放到各个rs中去做;
 
3)MapReduce;
 
BloomFilter
BloomFilter是在列族级别设置,用于快速定位是否存在某个值。基本的原理就是讲值做hash然后放到二维表中(阵列),查找的时候,首先是通过这张二维表来判断值是否存在,只有存在的时候采取表中把数据取出来。
 
负载均衡
这里的负载均衡是指硬盘数据的负载均衡,当某个硬盘的数据超过阈值之后,将可以根据现在RS集群情况对于region(数据)进行重新划分,维持数据在各个RS的均衡。
 
批量加载
两部分,第一步是生成HFile文件,可以通过mapereduce,可以通过importtsv工具;第二步是通过bulkload来经生成的HFile(可能是多个)导入到硬盘中;这种导入不再写WAL和memstore,直接和既存的Region文件做合并。
技术分享图片
 
参考

什么是HBase(四) HBase的业务工具

标签:维护   数字   reduce   内容   key   img   技术   多个   设计要点   

原文地址:https://www.cnblogs.com/xiashiwendao/p/8848240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!