基本了解 Hbase Filters
Posted
技术标签:
【中文标题】基本了解 Hbase Filters【英文标题】:Basic understanding Hbase Filters 【发布时间】:2017-08-12 09:42:49 【问题描述】:我有一个包含以下行键的表(为了示例而缩短了):
s1-0
s1-1
s1-2
s2-0
s2-1
s3-0
我需要通过以下方式过滤行:
第一部分为 s1,第二部分为 的所有行 第一部分为 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
我在理解过滤器的工作原理时遗漏了一些重要的东西。谁能帮助我并提供一些关于过滤器的有用文档参考?
【问题讨论】:
【参考方案1】:在一本书中我遇到了这个:
BitComparator、RegexStringComparator 和 SubstringComparator 仅适用于 EQUAL 和 NOT_EQUAL 运算符,因为这些比较器的 compareTo() 匹配时返回 0,不匹配时返回 1。 在 LESS 或 GREATER 比较中使用它们会产生错误的结果。
【讨论】:
以上是关于基本了解 Hbase Filters的主要内容,如果未能解决你的问题,请参考以下文章