我需要在 HBase 中使用 Scan 来扫描满足特定条件的所有行:这就是我将使用过滤器的原因(实际上是一个包含两个 SingleColumnValueFilter 的复合过滤器列表)。现在,我的 rowKeys 以这种方式构建:
a.b.x|1|1252525
a.b.x|1|2373273
a.b.x|1|2999238
...
a.b.x|2|3000320
a.b.x|2|4000023
...
a.b.y|1|1202002
a.b.y|1|1778949
a.b.y|1|2738273
作为附加要求,我只需要迭代那些 rowKey 以“abx|1”开头的行
现在,问题
- 如果我在过滤器列表中使用额外的 PrefixFilter,扫描仪是否总是扫描所有行(并且在每个行上都应用过滤器)?
- 如果我通过 startRow(前缀)和过滤器列表(没有 PrefixFilter)实例化扫描,我知道扫描从给定的行前缀开始。那么,假设我使用“abx”作为 startRow,扫描是否也会扫描 aby?
- 如果我使用 new Scan(startRow, endRow) 然后 setFilter 会有什么行为?总而言之:缺少的构造函数 Scan(byte [] start, byte [] end, Filter filter) 呢?
在此先感
谢安德里亚