基本了解Hbase过滤器

基本了解Hbase过滤器,hbase,Hbase,我有一个具有以下行键的表(为了示例而缩短): 我需要通过以下方式筛选行: 第一部分为s1,第二部分小于2的所有行 第一部分为s1,第二部分在1-2范围内的所有行 第二部分在1-2范围内的所有行 我从基本过滤开始。如果使用此筛选器扫描表: Filter f = new RowFilter(CompareOp.EQUAL, new RegexStringComparator("s1-2")); 我只得到带有以下内容的行: s1-2 但如果我将过滤器更改为: Filter f = new

我有一个具有以下行键的表(为了示例而缩短):

我需要通过以下方式筛选行:

  • 第一部分为s1,第二部分小于2的所有行
  • 第一部分为s1,第二部分在1-2范围内的所有行
  • 第二部分在1-2范围内的所有行
我从基本过滤开始。如果使用此筛选器扫描表:

Filter f  = new RowFilter(CompareOp.EQUAL, new RegexStringComparator("s1-2"));
我只得到带有以下内容的行:

s1-2
但如果我将过滤器更改为:

Filter f  = new RowFilter(CompareOp.LESS, new RegexStringComparator("s1-2"));
我的期望是:

s1-0                                                
s1-1
相反,我得到:

s1-0: 0
s1-1: 1
s2-0: 0
s2-1: 1
s3-0: 0

在理解过滤器如何工作时,我遗漏了一些重要的东西。有人能帮我提供一些关于过滤器的有用文档参考吗?

在我遇到的一本书中:

BitComparator、RegexStringComparator和SubstringComparator仅使用EQUAL和NOT_EQUAL运算符,因为这些比较器的compareTo()在匹配时返回0,在不匹配时返回1在较小或较大的比较中使用它们将产生错误的结果


在一本书中,我发现:

BitComparator、RegexStringComparator和SubstringComparator仅使用EQUAL和NOT_EQUAL运算符,因为这些比较器的compareTo()在匹配时返回0,在不匹配时返回1在较小或较大的比较中使用它们将产生错误的结果

s1-0: 0
s1-1: 1
s2-0: 0
s2-1: 1
s3-0: 0