在hbase中使用多个rowkey过滤器扫描表

时间:2014-08-09 10:00:41

标签: hbase row-key

我尝试使用单行密钥,但它工作正常,但我无法获取多个行键扫描。

scan 'LPV',{FILTER =>"(PrefixFilter('174','194')"}

收到错误,找到Filter to support scan multiple row key ranges但未找到是否可能?我想基于多个行键获取多个记录。任何帮助,谢谢。

2 个答案:

答案 0 :(得分:2)

你只需要两个PrefixFilters 如在

scan 'LPV',{FILTER =>"(PrefixFilter('174') OR PrefixFilter('194')"}

答案 1 :(得分:0)

我不确定Hbase shell中有多个前缀过滤器的解决方案。 但是你可以编写一个脚本来逐个执行多个prefixfilter。 例如,将您的密钥前缀逐行放入文件a1.txt;

a1.txt
-------
pref1
pref2
pref3

然后运行一个类似的脚本(我不擅长shell脚本。你可以做得更好)

cat a1.txt | while read LINE; do echo "scan 'LPV',{FILTER=>\"PrefixFilter('$LINE')\"} " | hbase shell;done