基本了解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