HBASE 比较器和过滤器

简介: HBASE 比较器和过滤器

比较器:


BinaryComparator  按字节索引顺序比较指定字节数组,采用Bytes.compareTo(byte[])

BinaryPrefixComparator 跟前面相同,只是比较左端的数据是否相同

NullComparator 判断给定的是否为空

BitComparator 按位比较 a BitwiseOp class 做异或,与,并操作

RegexStringComparator 提供一个正则的比较器,仅支持 EQUAL 和非EQUAL


SubstringComparator 判断提供的子串是否出现在table的value中。


比较运算符CompareOp

比较运算符用于定义比较关系,可以有以下几类值供选择:

EQUAL                      相等

GREATER                    大于

GREATER_OR_EQUAL           大于等于

LESS                       小于

LESS_OR_EQUAL              小于等于

NOT_EQUAL                  不等于


过滤器:


行键过滤器 RowFilter


列族过滤器FamilyFilter


列过滤器QualifierFilter


值过滤器ValueFilter


1,ColumnPaginationFilter

列分页过滤器:基于列进行分页,需要设置偏移量与返回数量。


2,ColumnCountGetFilter

列计数过滤器:返回限定数量的列,可以指定需要返回的数量限制。


3,FirstKeyOnlyFilter

首列过滤器:只返回每一行的第一列。



4,FirstKeyValueMatchingQualifiersFilter

首次匹配列过滤器:通过设置一组需要匹配的列,只要匹配到任意一个列就会停止这一行的扫描操作进行下一行的扫描。


5,ColumnPrefixFilter

列前缀过滤器:通常所说的前缀匹配。


6,MultipleColumnPrefixFilter

列多前缀匹配过滤器:在列前缀匹配的基础上增加匹配列。


7,ColumnRangFilter

列范围匹配过滤器:设定列的范围进行匹配


自定义过滤器


做法 : 继承 FilterBase,然后打成 jar 放到 $HBASE_HOEM/lib 目录下去(注意:需要重启 HBase 集群)

写自定义过滤器的时候需要熟悉过滤器的执行流程,不解释 、、、


相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
分布式数据库 Hbase
【HBase】(十)过滤器2
【HBase】(十)过滤器2
179 0
【HBase】(十)过滤器2
|
分布式数据库 API 索引
【HBase】(十)过滤器1
【HBase】(十)过滤器1
200 0
【HBase】(十)过滤器1
|
Java 分布式数据库 Ruby
HBase Filter 过滤器之 Comparator 原理及源码学习
HBase所有的比较器实现类都继承于父类ByteArrayComparable,而ByteArrayComparable又实现了Comparable接口;不同功能的比较器差别在于对父类compareTo()方法的重写逻辑不同。 下面分别对HBase Filter默认实现的七大比较器一一进行介绍。 1. BinaryComparator 介绍:二进制比较器,用于按字典顺序比较指定字节数组。 先看一个小例子: public class BinaryComparatorDemo { public static void main(String[] args) {
431 0
|
Java Shell 分布式数据库
HBase Filter 过滤器之RowFilter详解
前言:本文详细介绍了HBase RowFilter过滤器Java&Shell API的使用,并贴出了相关示例代码以供参考。RowFilter 基于行键进行过滤,在工作中涉及到需要通过HBase Rowkey进行数据过滤时可以考虑使用它。比较器细节及原理请参照之前的更文:HBase Filter 过滤器之比较器 Comparator 原理及源码学习 一。Java Api 头部代码 public class RowFilterDemo { private static boolean isok = false; private static String tableName
540 0
|
Shell 分布式数据库 API
|
分布式数据库 Hbase Go
hbase过滤器filter及自定义filter
hbase过滤器filter及自定义filter 1.filter源码实现: hbase的filter定义在protobuf中(filter.proto文件)。
1923 0
|
分布式数据库 Hbase API
|
分布式数据库 Hbase
HBase常用过滤器
列值过滤器 SingleColumnValueFilter filter = new SingleColumnValueFilter( Bytes.
1209 0
|
5月前
|
Java Shell 分布式数据库
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
84 0