我正在尝试找到一个扫描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
答案 0 :(得分:2)
你可以使用prefix filter. ......下面的内容。
此过滤器将一个参数作为行键的前缀。它只返回 那些以指定行开头的行中存在的键值 前缀
语法
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’)”}