Hbase多个部分rowkeys扫描

时间:2016-11-29 20:16:04

标签: hbase nosql

我正在尝试找到一个扫描Hbase表的解决方案,其中包含来自同一rowkey的多个部分键。

示例:

RowKey: account_id|name|age|transaction_date
             12345|abc |50 |2016-05-05 08:10:10

在这里,我想扫描一个hbase表,使用以下部分组合键获得所有可能的值:

Rowkey: account_id|transation_date
             12345|2016-05-05 08:10:10

2 个答案:

答案 0 :(得分:2)

你可以使用prefix filter. ......下面的内容。

prefixfilter:

  

此过滤器将一个参数作为行键的前缀。它只返回   那些以指定行开头的行中存在的键值   前缀

     

语法

     

PrefixFilter (<row_prefix>)

同样可以与java客户端一起使用

scan 'yourtable', {FILTER => "PrefixFilter('12345|abc|50|2016-05-05')"}

scan 'yourtable', {STARTROW=>'12345' FILTER => "PrefixFilter('2016-05-05 08:10:10')"}
OR 
scan 'yourtable', {ENDROW='2016-05-05 08:10:10'"}

根据您的要求......

注意:如果您想从java

执行此操作,java hbase scan api也有相同的方法

答案 1 :(得分:1)

您可以将RowFilter与regexstring一起使用。

scan ‘myTable’, {FILTER => "RowFilter(=, 'regexstring:12345.*2016-05-05 08:10:10’)”}