将多个前缀行过滤器设置为扫描程序hbase java

时间:2016-08-22 12:45:33

标签: java hadoop mapreduce hbase

我想创建一个扫描仪,它会给我带有2个前缀过滤器的结果
例如,我希望它们的键以字符串" x"开头的所有行。或者从字符串" y"开始 目前我知道只使用一个前缀,方法如下:

scan.setRowPrefixFilter(prefixFiltet)

3 个答案:

答案 0 :(得分:3)

在这种情况下,您无法使用setRowPrefixFilter API,您必须使用更通用的setFilter API,例如:

scan.setFilter(
  new FilterList(
    FilterList.Operator.MUST_PASS_ONE, 
    new PrefixFilter('xx'), 
    new PrefixFilter('yy')
  )
);

答案 1 :(得分:2)

我刚刚尝试过,但似乎你没有为RowPrefixFilter添加正则表达式,所以我想解决方法是使用

发出两个请求
scan.setRowPrefixFilter("x")
scan.setRowPrefixFilter("y")

这将为您提供所需的行。

答案 2 :(得分:0)

我已实现批量设置前缀过滤器,也许可以帮助您

False