HBase:扫描包含字符串的行键

时间:2017-10-05 12:10:11

标签: hadoop nosql hbase

我有一个包含以下行键格式的HBase表:

<salt>:<id>#<category>#<class>

000001:1234#AAAAAAAAAA#BBBBBBB
000001:2345#CCCCCCCCCC#DDDDDDD
000002:1234#EEEEEEEEEE#FFFFFFF
...

我想在行键上设置Scan并获取密钥包含id=1234的所有行。是否可以向regex添加SubstringComparatorPrefixFilterPrefixFilter完全适用于id过滤,然后才添加salt键前面的值)?

或者还有其他可能性来搜索这个关键部分吗?

1 个答案:

答案 0 :(得分:0)

您需要RowFilter RegexStringComparator

import org.apache.hadoop.hbase.filter.CompareFilter;
import org.apache.hadoop.hbase.filter.RegexStringComparator;
import org.apache.hadoop.hbase.filter.RowFilter;

RowFilter filter = new RowFilter(
    CompareFilter.CompareOp.EQUAL, 
    new RegexStringComparator("your_regexp")
);